2

在下一个示例中,我们有一个带有 aData 的主菜单。我们怎样才能有一个带有 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)
4

2 回答 2

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)

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

于 2011-10-10T01:20:41.653 回答
1

我想你正在寻找这个:

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

在此处输入图像描述

于 2011-10-09T18:28:28.460 回答