你如何刷新R gWidget的内容?

Ric*_*ton 6 r gwidgets

我正在使用gWidgets(更具体地说gWidgetstcltk)在R中创建GUI .我想知道如何更新选择类型小部件的内容,例如gdroplistgtable.我目前有一个相当hackish删除小部件并重新创建它的方法.我相信有更好的方法.

这个简单的示例显示了全局环境中的所有变量.

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()
Run Code Online (Sandbox Code Playgroud)

Dir*_*tel 2

据我所知,这些刷新事件通常由窗口管理器拥有,因此这可能很棘手。