首页 > 技术文章 > tkinter进阶版——ttk

WoLykos 2019-01-15 13:59 原文

很长的一段时间里,我都是用tkinter进行GUI设计的,还写过一篇《tkinter模块常用参数》。
但后来慢慢地觉得,这个tkinter真的是有点丑啊。
于是,找到了现在的ttk。

ttk是什么呢?
在我看来,它应该算是tkinter的一个进阶组件,为的,就是完善tkinter的一些功能。
通俗点说,tkinter有的,ttk也有;tkinter没有的,ttk也有。
而且!这两人的办法和属性功能还是相同的,连名字都一样。。。。
所以,如果你同时导入这两个库,即

import tkinter
from tkinter import ttk

此时,
二者都有的组件,ttk将会覆盖Tkinter;ttk有而Tkinter没有的,将采用ttk的特性。

当然,ttk和tkinter还是有一些区别的。
如 Tkinter 中的fg,bg 在ttk中并不被支持,ttk是通过style这个对象来实现的。

如下:

tkinter:
l1 = Tkinter.Label(text="Test", fg="black", bg="white")
l2 = Tkinter.Label(text="Test", fg="black", bg="white")
ttk:
style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")

l1 = ttk.Label(text="Test", style="BW.TLabel")
l2 = ttk.Label(text="Test", style="BW.TLabel")

这点还是得注意的。

对了,还有一点:
Python3才是tkinter,Python2的话就是Tkinter了。

推荐阅读