在pygtk中检测ctrl+单击按钮

问题描述 投票:0回答:1

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

gtk pygtk
1个回答
11
投票

如果您可以连接到

button-press-event
button-release-event
而不是
clicked
,则传递给回调的
event
可用于获取修改器状态(使用
get_state
)并检查如果按下控制键。例如。

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)

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.