首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变RGtk2 hbox高度

改变RGtk2 hbox高度
EN

Stack Overflow用户
提问于 2018-11-15 15:38:43
回答 1查看 52关注 0票数 1

我正试图在我的RGtk2布局中添加"next“和"previous”按钮。

我已经将"next“和"prev”按钮放入自己的Hbox中,并将它们添加到GUI的末尾。

不幸的是,包含这些按钮的Hbox扩展到占用屏幕总面积的1/3,如下所示:

我希望新的hbox占用尽可能少的空间,为第二个图留出最大的空间。我怎样才能缩小Hbox的高度?

我尝试过使用packEnd而不是packStart插入hbox,它看起来完全一样。

下面是代码:

代码语言:javascript
复制
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博客上找到了一个,在一些古老的统计文件中也找到了一个。如果你知道我在哪里能得到更多请告诉我。

编辑:设置展开= FALSE

正如注释中所建议的那样,我已经设置了展开= FALSE。这只会按左边的按钮。盒子的高度保持不变。

代码语言:javascript
复制
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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-18 23:17:50

默认情况下,带有两个按钮的底部框设置为展开。若要将其设置为占用最少的空间:

代码语言:javascript
复制
vbox_2$packStart(vbox_3, expand = FALSE, fill = FALSE, 0)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53322919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档