我想检测用户单击按钮时是否按住 ctrl。'clicked' 信号似乎没有向回调传递足够的信息来解决这个问题。
问问题
1250 次
1 回答
10
如果您可以连接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)
希望这可以帮助!
于 2012-11-14T05:48:17.707 回答