0

我正在用 R 编写一个 GUI 来比较一堆不同的图。我正在尝试实现一个滚动窗口来包含这些图。

我遇到的问题是使用 Rgtk2 控制滚动窗口的大小:

window = gtkWindow(show = FALSE)
hbox = gtkHBoxNew(homogeneous = FALSE, spacing = 0)
window$add(hbox)
vboxLoad = gtkVBoxNew(homogeneous = FALSE, spacing = 0)
hbox$add(vboxLoad)

scroll = gtkScrolledWindow()
vbox2 = gtkVBoxNew(homogeneous = FALSE, spacing = 0)

scroll$addWithViewport(vbox2)
vboxLoad$add(scroll)

framePlot = gtkFrameNew("Plot1")
framePlot2 = gtkFrameNew("Plot2")

vbox2$add(framePlot)
vbox2$add(framePlot2)

plot1 = gtkDrawingArea()
gtkWidgetSetSizeRequest(plot1,450,400)
asCairoDevice(plot1)
gtkWidgetShow(plot1)
framePlot$add(plot1)

plot2 = gtkDrawingArea()
gtkWidgetSetSizeRequest(plot2,450,400)
asCairoDevice(plot2)
gtkWidgetShow(plot2)
framePlot2$add(plot2)

给了我一些非常接近我需要的东西,但是 Rgtk2 没有gtk_scrolled_window_set_min_content_width选项,我不知道如何使用调整来达到预期的效果,即:

hadjustment = gtkAdjustmentNew(value = NULL, lower = NULL, upper = NULL, step.incr = NULL, page.incr = NULL, page.size = 600)
gtkScrolledWindowSetHadjustment(scroll, hadjustment)

不能用作钝器。

任何帮助,将不胜感激。

4

1 回答 1

0

像往常一样,我试图解决问题的错误部分。控制包含滚动窗口的框的大小似乎工作得很好:

window = gtkWindow(show = FALSE)
hbox = gtkHBoxNew(homogeneous = FALSE, spacing = 0)
window$add(hbox)
vboxLoad = gtkVBoxNew(homogeneous = FALSE, spacing = 0)
vboxd$setSizeRequest(400,400)
hbox$add(vboxLoad)

scroll = gtkScrolledWindow()
vbox2 = gtkVBoxNew(homogeneous = FALSE, spacing = 0)

scroll$addWithViewport(vbox2)
vboxLoad$add(scroll)

framePlot = gtkFrameNew("Plot1")
framePlot2 = gtkFrameNew("Plot2")

vbox2$add(framePlot)
vbox2$add(framePlot2)

plot1 = gtkDrawingArea()
gtkWidgetSetSizeRequest(plot1,450,400)
asCairoDevice(plot1)
gtkWidgetShow(plot1)
framePlot$add(plot1)

plot2 = gtkDrawingArea()
gtkWidgetSetSizeRequest(plot2,450,400)
asCairoDevice(plot2)
gtkWidgetShow(plot2)
framePlot2$add(plot2)
于 2013-06-19T20:10:42.130 回答