Как добавить анимацию вращающегося колеса в графический интерфейс gWidgets

Я только начал создавать графический интерфейс в R, и в качестве первого шага я работаю с gWidgets, прежде чем рисковать в некоторых фреймворках более низкого уровня...

Я хотел бы добавить анимацию вращающегося колеса, чтобы показать, что процесс запущен. Хотя gWidgets, похоже, не поддерживает это, RGtk2 поддерживает.

Итак, мой основной вопрос заключается в том, как добавить виджет RGtk2 в графический интерфейс gWidgets, если этот виджет не поддерживается «изначально» gWidgets. Кроме того, как вы манипулируете виджетом после добавления...

заранее спасибо

Томас


person ThomasP85    schedule 10.10.2012    source источник


Ответы (1)


Вот как это можно сделать в 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 для выполнения чего-то подобного, но не этого.

person jverzani    schedule 10.10.2012