2009-05-04 9 views
2

私はwxPythonを学んでいますので、ほとんどのライブラリとクラスは新しくなっています。WxPython:クロスプラットフォームでの適合/キャンセルボタン注文

私は環境設定ダイアログクラスを作成していますが、OK/Cancel(またはSave/Close)ボタンがプラットフォームの正しい順序になっていることを確認する最善の方法がわかりません。このプログラムはGNOMEとWindowsの両方で動作するように意図されているので、ボタンが各プラットフォームで正しい順序になっていることを確認します。

wxPythonは、if platform.system() == 'Linux'種類のハッキングを実行できない機能を提供していますか?

答えて

4

ダイアログの外観は、ストック・ダイアログ(wx.FileDialogなど)を使用する場合にのみ変更できます。レイアウトを変更すると、すべてのプラットフォームで同じレイアウトになります。

wx.Dialogには、異なるプラットフォーム上のレイアウトの違いを見ることができる標準的なボタンを使用してwx.StdDialogBu​​ttonSizerを作成するCreateStdDialogBu​​ttonSizerメソッドがありますが、使用する必要はありません。

0

あなたはWX(またはその他のXプラットフォームのツールキット)を使用するつもりなら、あなたはそれが正しいことをしないほうが良いの信頼をいただきたい、MON! - )

0

権利を行う必要がありますGenericMessageDialogウィジェットがありますプラットフォームに依存するもの(しかし、私はそれを使用したことがないので、私はそれがしないか分かりません)。 wxPythonデモを参照してください。

また、SizedControlsアドオンライブラリ(wxPythonの一部です)を使用することもできます。 SizedDialogクラスは、各プラットフォームのHuman Interface Guidelinesに準拠するダイアログを作成するのに役立ちます。 wxPythonデモを参照してください。

2

あなたは限り、あなたのボタンは、彼らが正しい順序に置かれる標準のIDを持っているようStdDialogBu​​ttonSizer

http://www.wxpython.org/docs/api/wx.StdDialogButtonSizer-class.html

を使用することができます。

ちょっとしたシワを付け加えるには、たとえばMacの環境設定ダイアログにはOK/Cancelボタンがありません。入力時に自動的に設定を適用します(少なくともダイアログクローズ時)。だから、あなたはまだその場合にいくつかのプラットフォームスニッフィングをしなければならないでしょう。

関連する問題