使用addHandlerXXX将处理程序添加到R中的(按钮)小部件

时间:2017-06-13 13:07:00

标签: r handler gwidgets

我目前正在构建基于R包> gWidgets2RGtk2'的GUI。我想创建一个按钮,对右键单击事件做出反应。不幸的是,下面的代码产生了一个按钮,但是当执行右键单击按钮时,没有显示消息。谁能说出我做错了什么?

library("gWidgets2")
library("RGtk2")
library("gWidgets2RGtk2")
options("guiToolkit"="RGtk2")
#
w <- gwindow("main_window_header")
B <- gbutton("?", container = w)
addHandlerRightclick(B, handler = function(h, ...){gmessage("It worked!")})

使用

addHandlerDoubleclick(B, handler = function(h, ...){gmessage("It worked!")})

而不是

addHandlerRightclick(B, handler = function(h, ...){gmessage("It worked!")})
双击按钮时,

未显示gmessage。但是,

addHandler(B, signal = "clicked", handler = function(h, ...){gmessage("It worked!")})

工作得很好。我错过了什么?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。显然打包&#34; gWidgets&#34;正确的鼠标点击处理程序需要它。添加

library("gWidgets")

到标题使得示例适用于addHandlerRightclick。