RGTK2实现滚动窗口

时间:2013-06-18 19:18:59

标签: r user-interface gtk2

我在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)

不是一种钝器。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分: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)