赞
踩
如果你感觉使用 tkinter 设计的 GUI 很难看,那是你只使用了经典的小部件(classic widgets),没有使用更漂亮的主题小部件(themed widgets)。
Tkinter 于 1991 年推出了旧的经典小部件 tk。2007 年,Tk8.5 添加了较新的主题小部件 ttk。两种小部件使用方法相同,只不过 ttk 更美观了。
接下来我们通过示例看看两种小部件有什么不同。
导入经典和新的主题小部件:
import tkinter as tk
from tkinter import ttk
创建经典标签和新的主题标签:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
tk.Label(root, text='Classic Label').pack()
ttk.Label(root, text='Themed Label').pack()
root.mainloop()
输出:
它们看起来很相似。但是,它们的外观取决于运行程序的平台。
创建经典按钮和新的主题按钮:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
ttk.Button(root,text='主题小部件').pack()
tk.Button(root,text='经典小部件').pack()
root.mainloop()
输出:
经典按钮和新的主题按钮外观完全不一样,新的主题按钮扁平化设计,鼠标滑过、点击还会变色,比经典按钮更漂亮。
ttk 主题小部件允许根据特定的鼠标事件更改其外观。
若要动态更改小部件的外观,可以使用 Style 对象的 map() 方法:
style.map(style_name, query)
动态更改按钮文字颜色:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
#a=tkinter.Tk()
ttk.Button(root,text='主题小部件').pack()
tk.Button(root,text='经典小部件').pack()
style = ttk.Style(root)
style.map('TButton',foreground=[('pressed', 'blue'),('active', 'red')])
root.mainloop()
输出:
在此示例中,当鼠标移到按钮上时,按钮文本颜色将变为红色,当单击按下按钮时,文本颜色将变为蓝色。
ttk 主题小部件实现行为代码与外观样式独立设计,外观根据运行程序的平台外观自动改变。通过使用 ttk 主题小部件,可以设计出更漂亮的 GUI。
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。