2

ユーザーがボタンをクリックしたときに ctrl が押されているかどうかを検出したい。「クリックされた」信号は、これを解決するのに十分な情報をコールバックに渡していないようです。

4

1 に答える 1

10

button-press-eventまたはbutton-release-eventの代わりに に接続できる場合は、コールバックclickedevent渡された を使用して ( を使用して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 に答える