Определить Ctrl+ нажмите на кнопку в Pygtk
Я хочу определить, удерживается ли Ctrl, когда пользователь нажимает кнопку. Сигнал "нажал", кажется, не передает достаточно информации обратному вызову, чтобы решить это.
1 ответ
Решение
Если вы можете подключиться к любому 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)
Надеюсь это поможет!