我想检测用户单击按钮时是否按住 ctrl。 “点击”信号似乎没有向回调传递足够的信息来解决这个问题。
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)
希望这有帮助!