[英]How to switch between dark and light ttk theme?
如何在 ttk 主题之间切换? 我试过这个:
style = ttk.Style(root)
root.tk.call('source', r'Azure-ttk-theme\azure dark\azure_dark.tcl')
root.tk.call('source', r'Azure-ttk-theme\azure\azure.tcl')
style.theme_use('azure')
我创建了一个样式,然后当一个按钮被按下时,这个 function 被执行:
def change_theme():
if style.theme_use() == 'azure':
style.theme_use('azure_dark')
else:
style.theme_use('azure')
但这并没有按预期工作,window 的背景颜色没有改变:
浅色主题:
更改为深色主题后:
它没有正确更改。
这是一个默认 styles 的小例子:
from tkinter import ttk
import tkinter
def change_theme():
if style.theme_use() == 'alt':
style.theme_use('clam')
root.configure(background='grey')
else:
style.theme_use('alt')
root.configure(background='white')
root = tkinter.Tk()
#root.tk.call('source', r'Azure-ttk-theme\azure dark\azure_dark.tcl')
#root.tk.call('source', r'Azure-ttk-theme\azure\azure.tcl')
style = ttk.Style(root)
style.theme_use('alt')
frame = ttk.Frame(root).grid()
btn = ttk.Button(frame, text="Sample", command=lambda: change_theme())
btn.grid(column=0, row=1)
root.mainloop()
取消注释这些样式获取并将'alt'
和'clam'
更改为'azure'
和'azure_dark'
,它应该可以工作。
试试root.tk_setPalette( "#555555" )
或任何你喜欢的颜色。
主题不会改变颜色,只会改变小部件 styles,尤其是Scrollbars
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.