2011-06-28 7 views
33

TkDocsのウェブサイトを閲覧すると、Tkは「ネイティブのルックアンドフィール」部門で長い道のりを歩んだようです。しかし、these screenshotsのいくつかを見ると、それはLinuxで使われていないようです。そのページを下にスクロールすると、MacのようなMacのスクリーンショット、Windows XPのようなWindows XPのスクリーンショット、Linuxのスクリーンショットなどが表示されます。Windows 98(またはWindows XPスタイル)。TkをネイティブのLinuxアプリケーションのように見せる

Linuxは実際には「ネイティブなルックアンドフィール」を持っていないことがわかります。すべてのツールキットが独自のスタイリングをしているからです。しかし、GTKやQt(好ましくはGtk)のように見えるようにTkをスタイルする方法があるのか​​どうか疑問に思っています。そのため、Linuxデスクトップ上の他のほとんどのアプリケーションと混ざります。

Windows Vista/7はどうですか?私はこれらのプラットフォームでTkスクリーンショットを見たことがありません。

答えて

17

Tkには基本的に2つのウィジェットセット、クラシックウィジェットとテーマウィジェットがあります。従来のアプリケーションをサポートする必要があるため、従来のウィジェットはデフォルトですが、新しいコードを使用する新しいコードはです。 (彼らは非常に異なる方法で動作するので、オーバーロードすることはできません。古い古典的な方法に依存する多くのコードがあります。)正しいテーマでは、themedウィジェット(通常はTtkと呼ばれます)のlook WindowsおよびOSX上でネイティブに動作します。

GtkとQtを利用することができます(去年からthis presentationが実際に使用されています)が、部分的ですが、テーマの質が低いために部分的です(Gtk/QtテーマTtkのテーマ、これは混乱しています!)。重大な問題は明らかにメトリックの報告にあります。これはしばしば間違っているように見えます(ウィジェットが間違ったサイズや視覚的な要素を間違った場所に置く結果になります)。私はその論文の著者と話をして、テーマのかなりの部分がGtk/Qtでしか動作しないことを理解していますが、個人的な経験からこれを確認することはできません。 (私はOSXを使っているので、Ttkの直接のネイティブサポートを利用しています)。

+0

プレゼンテーションへのリンクは+1で、質問に完全に答えます。 – mgiuca

+0

それは4年以上されています。 GtkとQtのテーマはどのようにしていますか? – Hubro

+0

linuxのclearlooksテーマはかなりいいです... [clearlooks theme](https://github.com/ssokolow/profile/tree/master/home/.local/share/tkthemes) –

2

Themed TK(TTK)ウィジェットは主にPythonのメインメーリングリストで聞いたことのあるもので、ネイティブウィジェットを模倣したり、自分のことをして見栄えよくすることができます。 http://www.tkdocs.com/tutorial/styles.htmlを参照してください。

経験から、Tk(少なくともPythonを通した)はうんざりのように見えます。私は窓7であなたのためのテストを引っ張った:http://sadpanda.us/images/542945-LNUGO0F.jpg。デフォルトでは本当に気にする人ではありません!

+0

ヒントとスクリーンショットありがとう。私はそのスタイルをPython( 'ttk.Style()。theme_names()')で試して、ウィジェットが定義されている場所への2番目のウィンドウを生成しました。私はテーマ間の違いを見ることができません - 私は、ウィンドウAは私のすべてのウィジェットがあり、ウィンドウBはテーマが適用されているので、私は仮定します。 'Tkinter'と' ttk'を両方とも同じウィンドウを参照する方法はありますか? – mgiuca

+0

私はTkinterを1年以上使っていませんが、私はttkを使ったことはありません(ちょっと後で聞いたことがあります)が、http://docs.python.org/dev/library /tkinter.ttk.htmlにはいくつかのヒントがあります。私は、Python-list上にTkinterの専門家が3人以上いることを知っていますので、自由にメールを撮ってください(http://mail.python.org/mailman/listinfo/python-list)。 –

+0

ありがとうございます。すぐそこには何も見つかりませんでしたが、私はもっとよく見ていきます。 – mgiuca

3

配信:

echo '*TkTheme: clam' >> ~/.Xresources 
xrdb -merge ~/.Xresources 

次に、Tk basを再起動しますエドアプリ。ここで

は何を期待する(図示すると、GitのGUIである)である:

applied tk theme

左側には、上記のコマンドが発行された後にgitのGUIが開始されます。どのようにバーが変更されたかに注目してください。

関連する問題