我使用gWidgets
(更具体地说是gWidgetstcltk
)在R中创建GUI。我想知道如何更新选择类型小部件的内容,例如gdroplist
和gtable
。我现在有一个相当黑客的方法来删除小部件并重新创建它。我确定有更好的方法。如何刷新R gWidget的内容?
这个简单的例子显示了全局环境中的所有变量。
library(gWidgets)
library(gWidgetstcltk)
create.widgets <- function()
{
grp <- ggroup(container = win)
ddl <- gdroplist(ls(envir = globalenv()),
container = grp)
refresh <- gimage("refresh",
dirname = "stock",
container = grp,
handler = function(h, ...)
{
if(exists("grp") && !is.null(grp))
{
delete(win, grp)
}
create.widgets()
}
)
}
win <- gwindow()
create.widgets()
在这种情况下,我有多少访问这种功能? 'tcltk' /'tcltk2'软件包会诀窍吗?是否有可能直接从R访问窗口管理器? – 2010-04-22 08:54:07
好吧,我承认在这个失败。 – 2010-04-30 13:46:01
有没有这样的事情失败 - 但为此,你可能不得不放弃_portability_,因为它是如此依赖窗口管理器。 一个可能的希望之光可能是Deepayan和Michael一直在努力的对Qt的绑定。有一天,这些可能会从R-Forge迁移到CRAN,并为您提供另一种选择。 – 2010-04-30 13:58:04