Python 中 tkinter 和 tkinter.ttk 的部件之间有什么区别?


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 原生部件设置了样式。我们将创建一个按钮,该按钮将更改文本部件的背景颜色。

#Import the tkinter library
from tkinter import *
from tkinter.ttk import *

#Create an instance of tkinter frame
win = Tk()

#Set the geometry
win.geometry("620x400")

#Add a class to style the tkinter widgets
style = ttk.Style()
style.configure('TEntry', foreground = 'red')

#Define a function to change the text color
def change_color():
   text.configure(background="red")

#Create a text widget
text=Label(win,text="This is a New Text",foreground="white",
background="blue",font=('Aerial bold',20))
text.pack(pady=20)

#Create a Button widget
Button(win, text= "Click Here", command= change_color).pack(pady=10)
win.mainloop()

输出

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

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

更新于: 2021年3月26日

6K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.