使用addHandlerXXX将处理程序添加到R中的(按钮)小部件
问题描述:
我目前正在基于R包“gWidgets2RGtk2”构建一个GUI。我想要创建一个与鼠标右键事件反应的按钮。不幸的是,下面的代码会生成一个按钮,但是当右键单击该按钮时,不会显示gmessage。有人可以告诉我做错了吗?使用addHandlerXXX将处理程序添加到R中的(按钮)小部件
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!")})
正在完美工作。我错过了什么?
答
我找到了解决方案。显然,右键单击处理程序需要包“gWidgets”。将
library("gWidgets")
添加到头使得该示例适用于addHandlerRightclick。