1

TreeView と 2 つのボタン (Gtk.ResponseType.CANCEL と Gtk.ResponseType.ACCEPT) を持つダイアログ ウィンドウがあります。Gtk.TreeView 内で Enter キーを押すと、ResponseType.ACCEPT ボタンをアクティブにする方法が見つかりません。目的のボタンに cant_datault を設定し、GtkDialog に set_default を設定しましたが、Gtk.TreeView にはアクティブ化のデフォルト メソッドがありません。

これを行う方法はありますか?

4

1 に答える 1

1

私が見つけた最も簡単な方法は、TreeView 内で「行アクティブ化」シグナルを使用することです。これは、Enter キーを押すか、アイテムをダブルクリックするか、スペースバーを押すたびにアクティブになります。

たとえば、次のようになります。

treeview.connect("row-activated", lambda a, b, c: dialog.response(Gtk.ResponseType.ACCEPT))

ラムダを使用して無名関数を作成しましたが、同時に実行する必要があるものが他にある場合は、適切な関数と交換できます。

将来、デフォルトの応答も変更する場合は、この関数も更新する必要があることに注意してください。

于 2013-03-29T23:49:22.543 に答える