我刚刚开始在 R 中制作 GUI,作为第一步,我正在使用 gWidgets,然后再涉足一些较低级别的框架......
我想添加一个旋转的轮子动画来显示一个进程正在运行。虽然 gWidgets 似乎不支持这一点,但 RGtk2 支持。
所以我的基本问题是,当 gWidgets 不“本机”支持小部件时,如何将 RGtk2 小部件添加到 gWidgets GUI。另外,添加后如何操作小部件...
提前致谢
托马斯
以下是在 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
小部件可以做类似的事情,但不是这个。