0

( python-keybinderを使用して)グローバル ショートカット キーを使用するアプリを構築していますが、問題があります。フレームがポップアップして適切に上がりますが、焦点が合っていません。フレームをクリックする必要があります。

キーボード ショートカットを押した後、フレームが表示されますが、フォーカスされていません。以前にフォーカスしていたフレーム (Firefox フレームなど) がまだフォーカスされていることがわかります (つまり、タイトル バーがまだ白く太字になっています)。アプリのフレームをクリックして初めて、Firefox のタイトル バーが灰色になり薄暗くなります。

私はしようとしSetFocusますCaptureMouseが、どちらも何もしません。FindFocusGetCapture戻りNoneます。

これは Ubuntu (GNOME) でのみ発生します。Windows では、フレームはすぐにフォーカスされます。GNOME に強制的にアプリ/フレームにフォーカスさせる方法はありますか?

4

1 に答える 1

0

frame.Show() を使用して、最初にフレームをどのように表示していますか? フレーム自体にフォーカスがない (またはフレームの子にフォーカスがある) と言っているのか、それともアプリケーションにフォーカスがないのかわかりません。

すべてのウィジェットを初期化する Frame で SetFocus を呼び出していますか? フレームの子に与えられているフォーカスの問題である可能性があります。フレームの最後で wx.CallAfter(self.SetFocus) を使用してみてください。initメソッド - すべてのウィジェットの作成が完了した後にフォーカスが設定されていることを確認する必要があります

于 2009-12-22T01:53:07.437 に答える