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()

输出

运行上述代码将产生以下输出 −

现在,单击"单击此处"按钮。它将文本小部件的背景颜色更改为红色。


相关文章