WxPython:[OK]/[キャンセル]ボタンの順序に準拠するクロスプラットフォームの方法

StackOverflow https://stackoverflow.com/questions/818942

質問

私は wxPython を学んでいるので、ほとんどのライブラリとクラスは初めてです。

設定ダイアログ クラスを作成していますが、OK/キャンセル (または保存/閉じる) ボタンがプラットフォームに対して正しい順序であることを確認する最良の方法がわかりません。このプログラムは GNOME と Windows の両方で実行することを目的としているため、ボタンが各プラットフォームで正しい順序になっていることを確認したいと思います。

wxPython は、 if platform.system() == 'Linux' 一種のハック?

役に立ちましたか?

解決

ダイアログの外観は、ストック ダイアログ (wx.FileDialog など) を使用する場合にのみ変更できます。独自に作成した場合、レイアウトはどのプラットフォームでも同じままです。

wx.Dialog には、標準ボタンを備えた wx.StdDialogBu​​ttonSizer を作成する CreateStdDialogBu​​ttonSizer メソッドがあり、異なるプラットフォームではレイアウトに違いが見られる可能性がありますが、それを使用する必要はありません。

他のヒント

StdDialogBu​​ttonSizer を使用できます

http://www.wxpython.org/docs/api/wx.StdDialogBu​​ttonSizer-class.html

ボタンに標準 ID がある限り、ボタンは正しい順序で配置されます。

ただし、たとえば Mac では、環境設定ダイアログには [OK] ボタンや [キャンセル] ボタンがありません。設定が入力されたとき (または少なくともダイアログを閉じるとき) に、設定が自動的に適用されます。したがって、その場合でもプラットフォームのスニッフィングを行う必要があります。

wx(または他のx-platformツールキット)を使用する場合、それが正しいことをすることを信頼する方が良いでしょう、mon!-)

プラットフォームに応じて適切な処理を行うGenericMessageDialogウィジェットがあります(ただし、使用したことがないため、実行するかどうかはわかりません)。 wxPythonデモをご覧ください。

SizedControlsアドオンライブラリ(wxPythonの一部)も使用できます。 SizedDialogクラスは、各プラットフォームのヒューマンインターフェイスガイドラインに準拠するダイアログを作成するのに役立ちます。 wxPythonデモをご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top