更改 RGtk2 水平框高度
Change RGtk2 hbox height
我正在尝试将 "next" 和 "previous" 按钮添加到我的 RGtk2 布局中。
我已将 "next" 和 "prev" 按钮放入它们自己的 Hbox 中,并将它们添加到 GUI 的末尾。
不幸的是,包含这些按钮的 Hbox 扩展到占据屏幕总面积的 1/3,如下所示:
我希望新的 hbox 占用的空间尽可能小 space,以便为第二张图留出最大的空间。如何缩小Hbox的高度?
我试过使用 packEnd 而不是 packStart 插入 hbox,它看起来完全一样。
代码如下:
library(RGtk2)
library(tidyr)
library(ggplot2)
library(cairoDevice)
# data generation ---------------------------------------------------------
s1 = mvrnorm(1000, c(0, 0), matrix(c(1, 0.8, 0.8, 1),2,2))
s2 = mvrnorm(1000, c(0,0), matrix( c(1,-0.8,-0.8,1),2,2))
# code --------------------------------------------------------------------
window <- gtkWindow(show = FALSE)
frame_main <- gtkFrameNew("test")
window$add(frame_main)
graphics_old <- gtkDrawingArea()
graphics_new <- gtkDrawingArea()
button_next = gtkButtonNewWithLabel("Next")
button_prev = gtkButtonNewWithLabel("Previous")
button_test = gtkButtonNewWithLabel("test")
button_reset = gtkButtonNewWithLabel("Reset")
textbox_example<- gtkEntryNew()
textbox_example$setWidthChars(100)
label = gtkLabelNewWithMnemonic("Input your text here")
vbox_1 = gtkVBoxNew()
vbox_1$setBorderWidth(10)
vbox_1$packStart(graphics_old, expand = TRUE, fill = TRUE, padding = 0)
vbox_1$packStart(label,expand = FALSE, fill = FALSE, padding = 0)
vbox_1$packStart(textbox_example,expand = FALSE, fill = FALSE, padding = 0)
vbox_1$packStart(button_test,expand = FALSE, fill = FALSE, padding = 0)
frame_main$add(vbox_1)
vbox_2 = gtkVBoxNew()
vbox_2$packStart(graphics_new, expand = TRUE, fill = TRUE, padding = 0)
vbox_2$packStart(button_reset,expand = FALSE, fill = FALSE, padding = 0)
vbox_1$packStart(vbox_2)
vbox_3 = gtkHBoxNew()
vbox_3$packStart(button_next, expand = TRUE,fill = FALSE, padding = 0)
vbox_3$packStart(button_prev, expand = TRUE,fill = FALSE, padding = 0)
vbox_2$packStart(vbox_3)
window$setDefaultSize(1000,1000)
window$showAll()
asCairoDevice(graphics_old)
plot(s1)
asCairoDevice(graphics_new)
plot(s2)
另外,网上好像很少有RGtk的教程。我在 R-Bloggers 上找到了一个,在一些古老的统计论文中找到了一个。如果你知道我在哪里可以得到更多,请告诉我。
编辑:设置 expand = FALSE
按照评论中的建议,我设置了 expand = FALSE。这只是将按钮推向左侧。盒子的高度保持不变。
vbox_3 = gtkHBoxNew()
vbox_3$packStart(button_next, expand = FALSE,fill = FALSE, padding = 0)
vbox_3$packStart(button_prev, expand = FALSE,fill = FALSE, padding = 0)
vbox_2$packStart(vbox_3)
带有两个按钮的底部框默认设置为展开。要将其设置为最少 space 使用:
vbox_2$packStart(vbox_3, expand = FALSE, fill = FALSE, 0)
我正在尝试将 "next" 和 "previous" 按钮添加到我的 RGtk2 布局中。
我已将 "next" 和 "prev" 按钮放入它们自己的 Hbox 中,并将它们添加到 GUI 的末尾。
不幸的是,包含这些按钮的 Hbox 扩展到占据屏幕总面积的 1/3,如下所示:
我希望新的 hbox 占用的空间尽可能小 space,以便为第二张图留出最大的空间。如何缩小Hbox的高度?
我试过使用 packEnd 而不是 packStart 插入 hbox,它看起来完全一样。
代码如下:
library(RGtk2)
library(tidyr)
library(ggplot2)
library(cairoDevice)
# data generation ---------------------------------------------------------
s1 = mvrnorm(1000, c(0, 0), matrix(c(1, 0.8, 0.8, 1),2,2))
s2 = mvrnorm(1000, c(0,0), matrix( c(1,-0.8,-0.8,1),2,2))
# code --------------------------------------------------------------------
window <- gtkWindow(show = FALSE)
frame_main <- gtkFrameNew("test")
window$add(frame_main)
graphics_old <- gtkDrawingArea()
graphics_new <- gtkDrawingArea()
button_next = gtkButtonNewWithLabel("Next")
button_prev = gtkButtonNewWithLabel("Previous")
button_test = gtkButtonNewWithLabel("test")
button_reset = gtkButtonNewWithLabel("Reset")
textbox_example<- gtkEntryNew()
textbox_example$setWidthChars(100)
label = gtkLabelNewWithMnemonic("Input your text here")
vbox_1 = gtkVBoxNew()
vbox_1$setBorderWidth(10)
vbox_1$packStart(graphics_old, expand = TRUE, fill = TRUE, padding = 0)
vbox_1$packStart(label,expand = FALSE, fill = FALSE, padding = 0)
vbox_1$packStart(textbox_example,expand = FALSE, fill = FALSE, padding = 0)
vbox_1$packStart(button_test,expand = FALSE, fill = FALSE, padding = 0)
frame_main$add(vbox_1)
vbox_2 = gtkVBoxNew()
vbox_2$packStart(graphics_new, expand = TRUE, fill = TRUE, padding = 0)
vbox_2$packStart(button_reset,expand = FALSE, fill = FALSE, padding = 0)
vbox_1$packStart(vbox_2)
vbox_3 = gtkHBoxNew()
vbox_3$packStart(button_next, expand = TRUE,fill = FALSE, padding = 0)
vbox_3$packStart(button_prev, expand = TRUE,fill = FALSE, padding = 0)
vbox_2$packStart(vbox_3)
window$setDefaultSize(1000,1000)
window$showAll()
asCairoDevice(graphics_old)
plot(s1)
asCairoDevice(graphics_new)
plot(s2)
另外,网上好像很少有RGtk的教程。我在 R-Bloggers 上找到了一个,在一些古老的统计论文中找到了一个。如果你知道我在哪里可以得到更多,请告诉我。
编辑:设置 expand = FALSE
按照评论中的建议,我设置了 expand = FALSE。这只是将按钮推向左侧。盒子的高度保持不变。
vbox_3 = gtkHBoxNew()
vbox_3$packStart(button_next, expand = FALSE,fill = FALSE, padding = 0)
vbox_3$packStart(button_prev, expand = FALSE,fill = FALSE, padding = 0)
vbox_2$packStart(vbox_3)
带有两个按钮的底部框默认设置为展开。要将其设置为最少 space 使用:
vbox_2$packStart(vbox_3, expand = FALSE, fill = FALSE, 0)