我在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(小部件)'失败”。因此,load()函数不会正确地重新创建对象。
答案 0 :(得分:0)
您可能使用某种数据结构来描述GUI,并结合使用基于此数据结构构建GUI的函数。我会使用save
来保存此数据结构,以便您稍后可以预先形成load
,您可以根据该结构重建GUI。