1

我刚刚开始在 R 中制作 GUI,作为第一步,我正在使用 gWidgets,然后再涉足一些较低级别的框架......

我想添加一个旋转的轮子动画来显示一个进程正在运行。虽然 gWidgets 似乎不支持这一点,但 RGtk2 支持。

所以我的基本问题是,当 gWidgets 不“本机”支持小部件时,如何将 RGtk2 小部件添加到 gWidgets GUI。另外,添加后如何操作小部件...

提前致谢

托马斯

4

1 回答 1

2

以下是在 gWidgets 或 gWidgets2(在 github 上)中的实现方式:

library(gWidgets) ## or gWidgets2
options(guiToolkit="RGtk2")
library(RGtk2)    ## needed

w <- gwindow()
g <- ggroup(cont=w)
g1 <- ggroup(cont=g) ## holds spinner

b1 <- gbutton("stop spinner", cont=g, handler=function(h,...) {
  spin$stop()
})
b2 <- gbutton("remove spinner", cont=g, handler=function(...) {
  delete(g, g1)
})


spin <- gtkSpinner()
spin$start()

## pack into g1 box container:
## in gWidgets2 can do this: add(g1, spin)
## for gWidgets it can be hacked:
g1@widget@widget$packStart(spin)

在 gWidgets2 中有一个gprogressbar小部件可以做类似的事情,但不是这个。

于 2012-10-10T15:35:02.460 回答