[英]python tkinter ttk styles
通常,當我使用 TTk 樣式時,我會逐個對象定義樣式對象。 如果我有很多表單和窗口,我會定義一個setStyle()
方法來做到這一點。 但是,在這個新應用程序中,在 App 主類中只有一個setStyle()
方法是有意義的。 問題是它忽略了App.setStyle()
方法中的設置。 有什么建議嗎?
class App(Tk):
...
def setStyles(self):
self.s = ttk.Style()
self.s.theme_use('alt')
padding = "12 12 12 12"
self.s.configure('frmWin.TFrame', padding=padding)
self.s.configure('big.TButton', font=(None, 24, "bold"))
self.s.configure('TLabel', font=(None, 28), anchor=W, justify=LEFT, sticky=W)
self.s.configure('TLabelframe', borderwidth=40, bordercolr="blue", labelmargins=(40,0))
self.s.configure('TLabelframe.Label', font=(None, 20), sticky=W)
# [MM] formNewPlayer
self.s.configure("frmNewPlayer.Treeview", rowheight=72, highlightthickness=0, bd=0, font=('Calibri', 24,'bold')) # Modify the font of the body
self.s.configure("frmNewPlayer.Treeview.Heading", font=('Calibri', 13,'bold')) # Modify the font of the headings
self.s.configure("frmNewPlayer.TLabel", font=("Calibri", 16))
self.s.configure("frmNewPlayer.Tentry", font=("Calibri", 22), width=16)
self.s.configure('frmNewPlayer.TButton', font=("Calibri", 24, "bold"))
# [MM] AskDialog
self.s.configure("AskDlg.TButton",foreground="black",
background="white",
width=4,
padding=[10, 10, 10, 10],
font = "Verdana 48 bold")
self.s.configure("AskDlg.TLabel", foreground="black",
background="white",
image="",
padding=[50, 50, 50, 50],
font = "Verdana 48")
self.s.configure("AskDlg.TFrame", foreground="black",
background="white",
borderwidth = 8,
font = "Verdana 48 underline")
好吧,您可以檢查:
import settings
,您可以像這樣調用類: settings.setStyle()
,對於from settings import setStyle
,您只需使用setStyle()
調用它);setStyle()
類;如果您檢查了所有內容但仍然無法正常工作,請在評論中給我留言。
好的,謝謝你的幫助。 我發現了這個錯誤,如果某些調試選項設置為 True,則繞過App __init__()
中對setStyles()
的調用。 這是一個復雜的標志調試字段的錯誤實現......現在一切都按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.