1

我有一个使用 R 中的 gWidgets 包创建的动态 GUI(如果重要的话,guiToolkit="RGtk2")。动态是指在使用 GUI 时创建和删除表单元素。我想知道是否有一种简单的方法可以使用所有当前表单元素和选定/键入的值保存当前 GUI,然后稍后加载它。保存和加载工作区似乎不适用于此类事情,例如:

require (gWidgets)
options (guiToolkit="RGtk2")
win1 <- gwindow("Test")
svalue(win1) <- "Window 1"
win2 <- win1
svalue(win2) <- "Window 2"
visible(win1)=FALSE
visible(win2)=TRUE

工作正常,您可以复制一个对象并继续在其他变量名下工作。但是,当您保存工作区并加载它时,在尝试执行最后 2 行时会收到错误“断言 `GTK_IS_WIDGET (widget)' failed”。因此, load() 函数不能正确地重新创建对象。

4

1 回答 1

0

您可能使用某种数据结构来描述您的 GUI,并结合了基于此数据结构构建 GUI 的函数。我将使用save保存此数据结构,允许您load稍后执行,您可以在此基础上重建您的 GUI。

于 2013-03-11T10:12:11.410 回答