我有一个使用 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() 函数不能正确地重新创建对象。