簡體   English   中英

在python tkinter中設置Checkbutton或Labelframe的樣式

[英]Set style for Checkbutton or Labelframe in python tkinter

我使用python tkinter設計了一個GUI。 現在我想為Checkbutton和Labelframe設置樣式,例如字體,顏色.etc我已經閱讀了關於tkinter樣式主題的一些答案,並且我使用以下方法為Checkbutton和Labelframe設置樣式。 但他們實際上並沒有工作。

Root = tkinter.Tk()
ttk.Style().configure('Font.TLabelframe', font="15", foreground = "red")
LabelFrame = ttk.Labelframe(Root, text = "Test", style = "Font.TLabelframe")
LabelFrame .pack( anchor = "w", ipadx = 10, ipady = 5, padx = 10, pady = 0, side = "top")

你能告訴我原因,還是你有其他有效的方法? 非常感謝你!

您需要配置Label子組件:

from tkinter import *
from tkinter import ttk

root = Tk()

s = ttk.Style()

s.configure('Red.TLabelframe.Label', font=('courier', 15, 'bold'))
s.configure('Red.TLabelframe.Label', foreground ='red')
s.configure('Red.TLabelframe.Label', background='blue')
lf = ttk.LabelFrame(root, text = "Test", style = "Red.TLabelframe")
lf.pack( anchor = "w", ipadx = 10, ipady = 5, padx = 10,
                  pady = 0, side = "top")
Frame(lf, width=100, height=100, bg='black').pack()
print(s.lookup('Red.TLabelframe.Label', 'font'))
root.mainloop()

因為當我想要簡單地改變ttk.LabelFrame字體的重量(如果你像推薦的那樣做,你最終得到一個錯位的標簽)時,接受的答案並沒有真正幫助我,我將提供適用於我。

你必須使用labelwidget的選項參數ttk.LabelFrame首先准備一個單獨的ttk.Label你的風格早些時候相應。 重要提示:使用labelwidget意味着你不使用普通的text選項的參數為您ttk.LabelFrame (只是做它的標簽)。

# changing a labelframe font's weight to bold
root = Tk()
style = ttk.Style()
style.configure("Bold.TLabel", font=("TkDefaultFont", 9, "bold"))
label = ttk.Label(text="Foo", style="Bold.TLabel")
lf = ttk.LabelFrame(root, labelwidget=label)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM