次のコードは、アイテムベクトルをに割り当てると、既存のアイテムベクトルの各要素でハンドラーgcombobox
がループすることを示していgcombobox
ます(たとえば、をクリックしてみると、"a"
から"b"
の複数の印刷メッセージが表示されますgcombobox
)。b2
がボタンに変更された場合gradio
、このループは発生しません。また、tcltkツールキットを使用している場合も問題はありません。これは、のハンドラーb2
がより複雑で、いくつかの大きなデータを操作するGUIで問題を引き起こしています。このループを防ぐための提案は素晴らしいでしょう!
options("guiToolkit"="RGtk2")
library(gWidgets)
w=gwindow()
b1=gradio(c("a","b"),container=w)
b2=gcombobox(c(1:2),container=w)
addHandlerClicked(b1,handler=function(h,...) b2[,]=c(1:10))
addHandlerClicked(b2,handler=function(h,...) print("clicked b2"))