4

Ubuntu 13.10でGtk3でPython 2.7.4を使用しています。

ホットキーを使用して Gtk ウィンドウを非表示および表示するために、Keybinder ライブラリを使用しています。現在、ホットキーを使用してウィンドウが表示されても、常にフォーカスされるとは限りません。

関連するコードは次のとおりです。

def toggle(self, key, data):
    if self.hidden:
        self.hidden = False
        self.set_keep_above(True)
        self.set_accept_focus(True)
        self.present()
        self.enteredName.grab_focus()
    else:
        self.hidden = True
        self.hide()

ここでselfは、Gtk ウィンドウを指しself.enteredName、タイプのウィジェットですGtk.Entry()

通常、 、 、 の組み合わせがset_accept_focus()機能set_keep_above()present()ます。がないset_keep_aboveと、ウィンドウが上に上がりません。がないとset_accept_focus、私のウィンドウはキーボード フォーカスを取得しません。

上記のセットアップは、アプリを起動してホットキーを使用してテストする (非表示と表示) ときに機能します。私のウィンドウは常にキーボード フォーカスを受け取ります。しかし、GVim ウィンドウを開いて、それにキーボード フォーカスを与えたとしましょう。ホットキーを押すと、ウィンドウが (GVim ウィンドウの上にさえ) 表示されますが、キーボード フォーカスは依然として GVim ウィンドウにあります。

いくつかの組み合わせを ( を追加して) 試しactivate、テキスト ウィジェットにフォーカスを当てました。しかし、期待どおりに機能していません。

私がここに欠けているものはありますか?

4

0 に答える 0