检测ctrl +单击pygtk中的按钮

时间:2012-11-14 01:58:26

标签: gtk pygtk

我想检测用户单击按钮时是否按下ctrl。 “clicked”信号似乎没有向回调传递足够的信息来解决这个问题。

1 个答案:

答案 0 :(得分:9)

如果您可以连接到button-press-eventbutton-release-event而不是clicked,则传递给回调的event可用于获取修饰符状态(使用{{ 3}})并检查是否按下了控制键。对于前者

def button_release_callback(widget, event, data=None):
    if event.get_state() &  gtk.gdk.CONTROL_MASK:
        print "Ctrl held"
    else:
        print "Ctrl not held"
...
button.connect("button-release-event", button_release_callback)

希望这有帮助!