Fresh tutorial on tkinter and ttk for Python 3
我在哪里可以找到最现代的教程来教
在python 3中,
我发现tkdocs教程非常有用。它描述了使用python和
我并没有从头到尾地把这整件事都讲一遍,只是用了一些主题作为我一直坚持的事情的例子,但它很有指导性,写起来也很舒服。今天,阅读简介和前几个部分,我觉得我将开始完成剩下的部分。
最后,它是最新的,并且网站有一个非常漂亮的外观。他还有许多其他值得查看的页面(小部件、资源、博客)。这家伙做了很多工作,不仅教会了tk,而且提高了人们的理解,那不是它曾经的丑陋野兽。
我建议使用NMT Tkinter 8.5参考。
- 主题小工具
- 自定义和创建TTK主题和样式
- 查找和使用主题
- 使用和自定义TTK样式
- TTK元素层
一些示例中使用的模块名是Python2.7中使用的模块名。下面是python 3:link中名称更改的参考
TTK的便利之一是你可以选择一个预先存在的主题,这是应用于TTK小部件的一整套样式。
下面是我为python 3编写的一个示例,它允许您从组合框中选择任何可用的主题:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import random import tkinter from tkinter import ttk from tkinter import messagebox class App(object): def __init__(self): self.root = tkinter.Tk() self.style = ttk.Style() available_themes = self.style.theme_names() random_theme = random.choice(available_themes) self.style.theme_use(random_theme) self.root.title(random_theme) frm = ttk.Frame(self.root) frm.pack(expand=True, fill='both') # create a Combobox with themes to choose from self.combo = ttk.Combobox(frm, values=available_themes) self.combo.pack(padx=32, pady=8) # make the Enter key change the style self.combo.bind('<Return>', self.change_style) # make a Button to change the style button = ttk.Button(frm, text='OK') button['command'] = self.change_style button.pack(pady=8) def change_style(self, event=None): """set the Style to the content of the Combobox""" content = self.combo.get() try: self.style.theme_use(content) except tkinter.TclError as err: messagebox.showerror('Error', err) else: self.root.title(content) app = App() app.root.mainloop() |
旁注:我注意到在使用Python3.3(而不是2.7)时,有一个"Vista"主题可用。
我建议您阅读文档。它简单而权威,适合初学者。
它并不新鲜,但它很简洁,从我所看到的情况来看,它对python 2和3都有效。