Perl 5.004でPerl / TK GUIの外観を改善するにはどうすればよいですか?
-
03-07-2019 - |
質問
Perl / TK
GUIを使用するWindows、Linux、およびSolarisで動作するように構築されたアプリケーションがあります。制約のため、Perl / TKに限定されています 。さらに、古い Perl / Tk
バージョン 5.00404
に制限されています。
これらの制限内で作業して、GUIを可能な限り見やすくモダンにしたいと思います。
この取り組みに役立つTKデザインスキーム(ボタン、フレーム、色など)を持つWebリソースはありますか?
こちらで見つけたような近代化のアドバイスも探しています:
XベースのシステムでTkアプリが少しいように見える場合は、スクリプトの先頭に次の行を追加してみてください。
$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*"); $mw->optionAdd("*borderWidth", 1);
解決
ボタン要素の代わりに画像を使用してみて、好きなスタイルとフォントを焼き付けることができます。これは、コンテンツが動的でないほとんどすべての要素(ペインなどの背景を含む)で機能します。それはより多くの作業ですが、特にプロジェクトグループに有能なアーティストがいる場合は、問題を解決します。
他のヒント
Tkテーマエンジンを使用して、アプリの見栄え。
optionAddを使用して、オプションデータベースを介してデフォルトを調整する 合理的なスタートです。これに関するスレッドは、次の場所にあります。
http://tcl.projectforum.com/tk/221
そこからgriffin.kitをダウンロードし、sdxツールを使用して展開し、見つけます griffin.tclを使用して、適切なオプション設定を取得します。
>LinuxではTk :: EntryとTk :: Textの背景が灰色なので、次の2行も使用します。
$mw->optionAdd( '*Entry.background', 'snow1' );
$mw->optionAdd( '*Text.background', 'snow1' );
「snow1」を選択した色に置き換えます。 '#ff9696'のような色の16進表現(RGB)を使用することもできます。
Tkの Tile テーマ化エンジンにより、見た目がずっときれいになります。ただし、Perl / TkはTkの開発よりもはるかに遅れており、Tileやその他の進歩を活用することはできません。
Tkx がオプションかどうかを調査する必要があります。 Perl / Tkとの完全な互換性はありませんが、APIはかなり近いです。 PerlとTcl / Tkの間のブリッジなので、Perlでコーディングされたアプリケーションロジックを持ちながら、Tileなどの最新のTcl / Tk機能をすべて使用できます。 ActiveStateの独自のグラフィカルユーティリティのかなりの数がTkxを使用しており、かなり見栄えの良い結果が得られています。
(ソース: activestate.com )
Perl 5.00404は非常に古いものです。 Tkx distは、Perlに依存していると主張しています≥ 5.008 ...それがどれほど正確かを知るのに十分な古いPerlがありません。