web-dev-qa-db-ja.com

TkをネイティブLinuxアプリのように見せます

TkDocs Webサイトを閲覧すると、Tkは「ネイティブルックアンドフィール」部門で長い道のりを歩んできたようです。しかし、いくつかの これらのスクリーンショット を見ると、Linuxでは失望しているようです。そのページを下にスクロールすると、Macとまったく同じように見えるMacのスクリーンショット、WindowsXPとまったく同じように見えるWindows XPのスクリーンショット、および...のように見えるLinuxのスクリーンショットが表示されます。よくWindows98(またはWindows XPクラシックスタイル)。

すべてのツールキットが独自のスタイルを持っているため、Linuxには実際には「ネイティブなルックアンドフィール」がないことを私は知っています。しかし、GTKまたはQt(できればGtk)のように見えるようにTkをスタイリングする方法があるかどうか疑問に思っているので、Linuxデスクトップ上の他のほとんどのアプリに溶け込みます。

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

37
mgiuca

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

利用可能なGtkとQtに委任する部分的なTtkテーマがあります( このプレゼンテーション 昨年からそれらが動作していることを示しています)が、主にテーマの質が悪いために部分的です(Gtk /これらのツールキットでの一般的な使用では、TtkテーマではなくQtテーマ。これは混乱を招きます!)。主な問題は明らかにメトリックのレポートにあり、これはしばしば間違っているように見えます(ウィジェットのサイズが間違っているか、視覚要素が間違った場所に配置されている結果になります)。その論文の著者と話をしたところ、テーマのかなりの部分がGtk/Qtでしか機能しないことを理解していますが、個人的な経験からこれを確認することはできません。 (私はOSXを使用しているので、Ttkの直接ネイティブサポートを使用します。)

19
Donal Fellows

最新のLinuxディストリビューションのせっかちなユーザーの場合:

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

次に、Tkベースのアプリを再起動します。

期待できることは次のとおりです(表示されているのはgit guiです)。

applied tk theme

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

8
Elias Dorneles

PySolFC 素敵でモダンなルックアンドフィールが含まれており、他のTkアプリでも使用できます。
Stephan Sokolow これについて彼の ブログ に書いています:

5
f3lix

Pythonのメインメーリングリストで時々聞いたことから、Themed TK(TTK)ウィジェットはそれらに対応しており、ネイティブウィジェットを模倣することも、独自のことを行って見栄えを良くすることもできます。 http://www.tkdocs.com/tutorial/styles.html を参照してください。

経験から、Tk(少なくともPythonを介して)はがらくたのように見えます。私はWindows7であなたのためにテストを引き出しました: http://sadpanda.us/images/542945-LNUGO0F.jpg 。デフォルトでは実際には見物人ではありません!

2