如何等待用户在 gWidgets2RGtk2 的组合框中输入值?

How to wait for user to input values in combo box in gWidgets2RGtk2?

我想要一个用户输入,然后根据该输入生成一个文件。 R 代码执行时不让用户 select 任何东西,只执行下一条语句。

library(gWidgets2RGtk2)

w <- gwindow(title="Hello World",visible=TRUE)
g = ggroup(horizontal = FALSE, cont=w)
glabel("Please select your favorite subject", cont=g)
modeltype <- c("","Science","Math")
op1 <- gcombobox(modeltype, cont=g)

if (svalue(op1)=="Math"){
    source("Rscript1")
}else if (svalue(op1)=="Science"){
    source("Rscript2")
}else{
    source("Rscript3")
}

现在,在我关闭下拉列表中的 window 甚至 select 选项之前,它会自动将 """ 作为值并继续到 else 语句并运行 RScript3 。在获得用户输入之前,如何暂停执行。 谢谢

在组合框中选择项目时调用处理函数。这是放置你的动作的地方:

addHandlerChanged(op1, handler=function(...){
    if (svalue(op1)=="Math"){
      source("Rscript1")
    }else if (svalue(op1)=="Science"){
      source("Rscript2")
    }else{
      source("Rscript3")
    }
})