当前位置:   article > 正文

在 Python 中使用 tkinter 设计更漂亮的 GUI_py tkinter 设计外观

py tkinter 设计外观

如果你感觉使用 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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出:
在这里插入图片描述
它们看起来很相似。但是,它们的外观取决于运行程序的平台。

创建经典按钮和新的主题按钮:

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
ttk.Button(root,text='主题小部件').pack()
tk.Button(root,text='经典小部件').pack()
root.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出:
在这里插入图片描述
在这里插入图片描述
经典按钮和新的主题按钮外观完全不一样,新的主题按钮扁平化设计,鼠标滑过、点击还会变色,比经典按钮更漂亮。

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

输出:
在这里插入图片描述
在此示例中,当鼠标移到按钮上时,按钮文本颜色将变为红色,当单击按下按钮时,文本颜色将变为蓝色。

ttk 主题小部件实现行为代码与外观样式独立设计,外观根据运行程序的平台外观自动改变。通过使用 ttk 主题小部件,可以设计出更漂亮的 GUI

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/787417
推荐阅读
相关标签
  

闽ICP备14008679号