2017-10-25 38 views
-1

は、今私はこのthreecodeを持っている:Tkinterのツリービューの変更、列のフォントサイズ

tree["columns"] = ("one", "two", "three") 
tree.column("one", width=150) 
tree.column("two", width=150) 
tree.column("three", width=150) 
tree.heading("one", text="Naar") 
tree.heading("two", text="Spoor") 
tree.heading("three", text="Vetrektijd") 
tree['show'] = 'headings' 

しかし、私がやりたいことは3つの列 の20のフォントサイズを変更しかし、私はそれをどのように行うことができますか? インターネットで私はStyle()について何かを読んでいますが、それは私のコードではうまくいきません。

答えて

1

頭に浮かぶ2つの解決策があります。

最初に指摘したようにStyle()を使用しています。変更する場合は、Treeview.Headingのテキストのスタイルを設定します。これは、ウィジェット内の特定の要素をスタイリングすることで動作

from tkinter import * 
import tkinter.ttk as ttk 

root = Tk() 

tree = ttk.Treeview(root) 
tree.pack() 

style = ttk.Style() 
style.configure("Treeview.Heading", font=(None, 100)) 

tree["columns"] = ("one", "two", "three") 
tree.column("one", width=150) 
tree.column("two", width=150) 
tree.column("three", width=150) 
tree.heading("one", text="Naar") 
tree.heading("two", text="Spoor") 
tree.heading("three", text="Vetrektijd") 
tree['show'] = 'headings' 

これは以下のようになります。これを打ち破ろう。

style = ttk.Style()は、スタイルを作成しており、変数styleの中に格納していることをtkinterに伝えます。

style.configure()は、私たちがちょうど

"Treeview.Heading"は、列見出しのための要素の名前であるcreated.`スタイルを設定することができます。

font=(None, 100)は、フォント自体を変更することなく、フォントサイズを増やすための「かわいい」方法です。フォントのスタイルを変更したい場合は、Noneと置き換えてください。おそらくComic Sans MS


他のオプションは、関数のTkinterを使用しているが、より深いレベルでのフォントと混乱私たちをみましょう呼ばnametofontが組み込まれています。

我々は以下のような何かを行うことができます:

右、同じ結果を得るように思わ
from tkinter import * 
from tkinter.font import nametofont 
import tkinter.ttk as ttk 

root = Tk() 

tree = ttk.Treeview(root) 
tree.pack() 

#nametofont("TkHeadingFont").configure(size=100) 

tree["columns"] = ("one", "two", "three") 
tree.column("one", width=150) 
tree.column("two", width=150) 
tree.column("three", width=150) 
tree.heading("one", text="Naar") 
tree.heading("two", text="Spoor") 
tree.heading("three", text="Vetrektijd") 
tree['show'] = 'headings' 

ここでは、実際にはtkinter属性のフォントをTkHeadingFontに変更し、サイズを100に変更するように指示しています。そのフォントをどこか別の場所で使用する場合、同じスタイルで表示されることを意味します。

これは、プログラムの先頭にfrom tkinter.font import nametofontを宣言する必要があります。

いずれの方法でも、審美的には同じ結果が得られます。

+0

ありがとうございました – Klaas

+0

好奇心のうちどのメソッドを選択しましたか? –

関連する問題