問題タブ [monospace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Tkinter ウィジェットを等幅のプラットフォームに依存しないフォントに設定するには?
ここのセクション Standard Fontsで述べられています:
特に多かれ少なかれ標準的なユーザー インターフェイス要素については、各プラットフォームで使用する特定のフォントが定義されています。Tk は、これらの多くを常に利用可能な標準フォント セットにカプセル化します。もちろん、標準ウィジェットはこれらのフォントを使用します。これは、プラットフォームの違いを抽象化するのに役立ちます。
そして、事前定義されたフォントのリストには次のものがあります。
TkFixedFont
A standard fixed-width font.
Tkinter
これは、たとえば、この回答で述べられているように、プラットフォームに依存しない等幅フォントを選択する標準的な方法でここで見つけることができるものにも対応しています。
悲しいかな、以下の簡単なコードのように、自分でこれをやろうとすると:
私が得るのはこれです:
それは私には等幅に見えないので、私のプラットフォームで何が正確にTkinter
変換されるかを次のように確認します。TkFixedFont
答えは次のとおりです。
では、どのようにDejaVu Sans Mono
見えますか?
上で引用したTkdocs.com チュートリアルには、名前付きフォントに関するセクションもあり、そこには次のように書かれています。
Courier
、Times
、およびの名前Helvetica
がサポートされていることが保証されています (また、適切なモノスペース、セリフ、またはサンセリフ フォントにマップされています)。
だから私は試してみます:
そして今、最終的に等幅の結果が得られます:
確かに、私のプラットフォームが標準の等幅フォントとして選択するCourier New
わけではありませんDejaVu Sans Mono
が、それは少なくとも何かですよね? しかし、うまくいくべきではありませんTkFixedFont
か?