python中ttk和tkinter_Python Tkinter ttk组件及用法(附带实例)

前面程序都是直接使用 tkinter 模块下的 GUI 组件的,这些组件看上去特别“复古”,也就是丑,仿佛是从 20 年前的程序上抠出来的组件。

为了弥补这点不足,Tkinter 后来引入了一个 ttk 组件作为补充(主要就是简单包装、美化一下),并使用功能更强大的 Combobox 取代了原来的 Listbox,且新增了 LabeledScale(带标签的 Scale)、Notebook(多文档窗口)、Progressbar(进度条)、Treeview(树)等组件。

ttk 作为一个模块被放在 tkinter 包下,使用 ttk 组件与使用普通的 Tkinter 组件并没有多大的区别,只要导入 ttk 模块即可。下面程序示范了如何使用 ttk 组件:

from tkinter import * # 导入ttk from tkinter import ttk class App: def __init__(self, master): self.master = master self.initWidgets() def initWidgets(self): # ttk使用Combobox取代了Listbox # cb = ttk.Combobox(self.master, font=24) # 为Combobox设置列表项 # cb['values'] = ('Python', 'Swift', 'Kotlin') cb = Listbox(self.master, font=24) # 为Listbox设置列表项 for s in ('Python', 'Swift', 'Kotlin'): cb.insert(END, s) cb.pack(side=LEFT, fill=X, expand=YES) # f = ttk.Frame(self.master) f = Frame(self.master) f.pack(side=RIGHT, fill=BOTH, expand=YES) # lab = ttk.Label(self.master, text='我的标签', font=24) lab = Label(self.master, text='我的标签', font=24) lab.pack(side=TOP, fill=BOTH, expand=YES) # bn = ttk.Button(self.master, text='我的按钮') bn = Button(self.master, text='我的按钮') bn.pack() root = Tk() root.title("简单事件处理") App(root) root.mainloop()

上面程序中被注释的代码是使用 ttk 组件的代码,未被注释的代码是直接使用 Tkinter 组件的代码。直接运行上面程序,可以看到如图 1 所示的界面。

4-1561110242.gif

图 1 Tkinter 组件的运行界面

如果将上面程序中被注释的代码取消注释,并注释使用 Tkinter 组件的代码,改为使用 ttk 组件,再次运行上面程序,则可以看到如图 2 所示的界面。

7-1561110242.gif

图 2 ttk 组件的运行界面

对比两个界面上 Tkinter 的 Button 和 ttk 的 Button,不难发现 ttk 下的 Button 更接近 Windows 7 本地平台的风格,显得更漂亮,这就是 ttk 组件的优势。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值