Python 2.7:TTKを介したTKINTERインターフェイスをテーマにしたTKINTERインターフェイス?
-
10-10-2019 - |
質問
Python 2.7(32ビット)ウィンドウ:TkinterをテーマにしたPython 2.7のサポートを実験しています(ttk
)シンプルなGUIのために、そして非常に感銘を受けました!!新しいテーマのサポートが不足しているように見える領域の1つは、OS固有の一般的なダイアログがどのようにラップされるかです。
修正:言い換えれば、 MessageBox
と ColorChooser
一般的なダイアログには、XP、Vista、およびWindows 7の下でこれらの一般的なダイアログに通常表示されるテーマ(丸い/グラデーション)ボタンと、「ugい」の見た目95スタイルのブロック状のボタンとテーマ(丸い/勾配)ボタンがあります(3つのプラットフォームすべてでテストしています。同一の、テーマのない結果)。
注:FileDialog Commonダイアログ(askopenfilename
, askopenfilenames
, asksaveasfilename
, askdirectory
)すべて適切なテーマです。
import tkMessageBox as messagebox
messagebox.showinfo()
import tkColorChooser as colorchooser
color = colorchooser.askcolor( parent=root, title='Customize colors' )
tkinterの取得に必要なものに関するアイデア MessageBox
と ColorChooser
一般的なダイアログは、OSテーマに互換性があります(少なくともWindows XP以上)?
解決
あなたの観察は主に正しいです。私はあなたが何を言及しているのかわかります messagebox
そしてその colorchooser
. 。ただし、私のファイラミアルはすべて、適切に丸いボタンなどを持っているようです。
メッセージボックスの作成に関する私の推奨事項は、 TopLevel
ウィジェット、次に、必要なものとさまざまなボタンの適切な動作を定義します(メッセージボックスを使用するよりも間違いなく少し難しいですが、新しいスタイルボタンが必要な場合は機能します)。
私はあなたが一緒にハッキングできるとは思わない colorchooser
ただし、問題。
私はおそらくPython 3.1がこの問題を修正したのかもしれませんが、悲しいことに、私は試しましたが、そうではありません。ユーザーが色を選択する必要がある場合、ボタンは醜い必要があると思います。
他のヒント
見栄えの良いダイアログボックスを取得するオプションは、スクリプトを使用して実行可能ファイルにコンパイルすることです pyinstaller
. 。私はこれをもっと説明します ここ.
tl; dr、コンパイルがコンパイルされているようです pyinstaller
カスタムスタイルではなく、現在実行されているOSのスタイルを備えたダイアログボックスを使用できます。