Python 中 tkinter 和 tkinter.ttk 的小部件有什么区别?
tkinterpythonserver side programmingprogramming更新于 2024/1/4 17:23:00
tkinter.ttk 是一个用于设置 tkinter 小部件样式的模块。就像使用 CSS 来设置 HTML 元素的样式一样,我们使用 tkinter.ttk 来设置 tkinter 小部件的样式。
以下是 tkinter 小部件和 tkinter.ttk 之间的主要区别 −
Tkinter 小部件用于添加按钮、标签、文本、滚动条等,但是,与 tkinter 小部件相比,tkinter.ttk 支持多种小部件。
Tkinter.ttk 不支持 Place、Pack() 和 Grid(),因此建议将 tkinter 小部件与 ttk 一起使用。
Ttk 具有许多功能和配置,可以扩展本机应用程序的功能并使其看起来更现代。
Tkinter 小部件是 tkinter 库中的本机小部件,但是ttk 是一个主题模块。
要覆盖 tkinter 中的基本 Tk 小部件,请使用"from tkinter.ttk import *"
示例
在下面的示例中,我们使用 tkinter.ttk 模块设计了一个 tkinter 原生小部件。我们将创建一个按钮,用于更改文本小部件的背景颜色。
#导入 tkinter 库 from tkinter import * from tkinter.ttk import * #创建 tkinter 框架的实例 win = Tk() #设置几何图形 win.geometry("620x400") #添加一个类来设置 tkinter 小部件的样式 style = ttk.Style() style.configure('TEntry', foreground = 'red') #定义一个函数来更改文本颜色 def change_color(): text.configure(background="red") #创建一个文本小部件 text=Label(win,text="This is a New Text",foreground="white", background="blue",font=('Aerial bold',20)) text.pack(pady=20) #创建一个按钮小部件 Button(win, text= "Click Here", command= change_color).pack(pady=10) win.mainloop()
输出
运行上述代码将产生以下输出 −
现在,单击"单击此处"按钮。它将文本小部件的背景颜色更改为红色。