4

最近、クロスプラットフォームである必要がある小さなアプリを作成しました。GUI には Python と Tkinter を使用しました。

それはうまく機能しますが、最近、hiDPI画面を備えた新しいラップトップを入手しましたが、TreeViewが台無しになっているようです(下の画像を参照). 行の高さに比べてテキストの高さが大きすぎます。

この写真は、Windows 7 をゲストとして実行している仮想マシンから取得したものです。画面上で読めるようにするには、テキストを大きなサイズ (125%) に設定する必要がありました (私が試した他のすべてのプログラムは、この設定で問題なく動作します)。

Tkinter TreeView で行の高さを設定する方法はありますか? ドキュメントでそのようなものを見たことがありません。

ここに画像の説明を入力

4

2 に答える 2

4

フォント サイズの変数を既に設定していますが、行の高さの変数を設定したくありません。したがって、私のコードは次のようになります。

style = ttk.Style()
style.configure("Treeview.Heading", font=(None, LARGE_FONT), \
                rowheight=int(LARGE_FONT*2.5))
style.configure("Treeview", font=(None, MON_FONTSIZE), \
                rowheight=int(MON_FONTSIZE*2.5))

LARGE_FONTが に設定されている場合14、行の高さは に設定され35ます。MON_FONTSIZEが に設定されている場合12、行の高さは として計算され30ます。

最終結果は、システム フォントの正しい間隔 (IMO) になります。ただし、他のフォントファミリの YMMV:

wman gnome gsettings.png

于 2019-12-30T11:59:50.377 に答える