R RGtk2 gmenu:使用gaction后的子菜单

时间:2011-10-09 11:18:40

标签: r gtk2

在下一个例子中,我们有一个带有aData的mainmenu。 我们怎样才能有一个带有aData1和aData2的子菜单?

library(gWidgets)
options(guiToolkit = "RGtk2")

aData <- gaction(label="File", icon="file")
aData1 <- gaction(label="Open", icon="open")
aData2 <- gaction(label="Close", icon="close")

ml <- list(Data=aData)

gmenu(ml, container = TRUE)

2 个答案:

答案 0 :(得分:3)

这与您之前的问题有关。答案基本上没有,但如果你愿意使用gWidgets2的开发版本:

require(devtools)
install_github("gWidgets2", username="jverzani")
install_github("gWidgets2RGtk2", username="jverzani")

然后你可以破解它,因为该版本允许你将小部件放入工具栏。这是有用的东西:

w <- gwindow()

h <- function(h,...) print("hi")
l <- list(file=gaction("file", icon="ok", handler=h),
          open=gaction("open", icon="open", handler=h),
          quit=gaction("quit", icon="quit", handler=h))
popup <- gmenu(l, popup=TRUE)

tbl <- list(c=gaction("cancel", icon="cancel", handler=h),
            b=gbutton("file")) ## adding a widget
addPopupMenu(tbl$b, popup) ## put popup menu on b
tbl$b$remove_border()

tb = gtoolbar(tbl, cont=w, style="both-horiz")
glabel("fill me in", cont=w)

我仍然需要在这个版本中添加一些小部件(没有树小部件,数据框编辑器和其他小部件)。

答案 1 :(得分:1)

我认为你正在寻找这个:

gmenu(menulist = list(File = list(Open = aData1, Close = aData2)), container = TRUE)

enter image description here