考虑一下:
require(gWidgets2)
w <- gwindow("notebook example", visible=T)
nb <- gnotebook(container=w)
gbutton("Page one", label="tab 1", container=nb) ## note label argument
gbutton("Page two", label="tab 2", container=nb)
如何绑定给定的密钥(例如ESC
)以关闭gWidgets中的gwindow()
,即执行dispose(w)
?换句话说,如何在gWidgets中分配键绑定?
答案 0 :(得分:1)
使用RGtk2(可能还有其他人),可以使用addHandlerKeystroke
方法来捕捉击键。您必须深入研究h
对象以捕获ESC
密钥。没有任何可移植代码,但Gtk文档应该能够提供帮助。
答案 1 :(得分:0)
根据接受的答案,我不得不:
addHandlerKeystroke(w, function(h, ...){
browser()
})
然后调出w
窗口并点击ESC
,然后点击browser()
终端:
print(h)
请注意:
Browse[1]> h$key
[1] "\033"
然后以下处理程序执行我想要的操作:
h_esc <- addHandlerKeystroke(w, function(h, ...){
if(h$key=="\033") dispose(w)
})
根据how to program window to close with escape key和How to define ESC char in git?,ESC
似乎经常被捕获为\033
。