关于tkinter和ttk的Python 3的新教程

我在哪里可以find与ttk一起教ttk的最现代的教程?

Tkinter似乎是唯一的方式去在Python 3(不要build议Python 2), ttk给了我好看的GUI的希望。

我发现TkDocs教程是非常有用的。 它描述了使用Python和Tkinterttk构buildTk接口,并且对Python 2和Python 3之间的区别做了说明。它还有Perl,Ruby和Tcl中的示例,因为目标是教Tk本身,而不是特定语言的绑定。

我从头到尾都没有经历过整个事情,而只是用了一些话题作为我被卡住的事情的例子,但是这是非常教学和舒适的写作。 今天阅读介绍和前几部分,我想我会开始通过其余的工作。

最后,这是目前和网站有一个非常漂亮的外观。 他还有其他一些值得检查的页面(小工具,资源,博客)。 这个家伙不仅教Tk,而且还提高人们的认识,认为这不是曾经的丑陋野兽。

我推荐NMT Tkinter 8.5参考 。

  • 主题小工具
  • 自定义和创buildttk主题和样式
  • 查找和使用主题
  • 使用和自定义ttk样式
  • ttk元素层

在一些例子中使用的模块名称是在Python 2.7中使用的。
以下是Python 3中名称更改的参考链接

ttk的一个好处就是你可以select一个预先存在的 主题 ,
这是一套适用于ttk小部件的样式 。

这是我写的一个例子(对于Python 3),它允许你从Combobox中select任何可用的主题:

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

附注:我注意到,使用Python 3.3(但不是2.7)时有一个“vista”主题。

我build议阅读文档 。 它简单而权威,对初学者有好处。

这不是很新鲜,但这是简洁的,从我见过的有效的Python 2和3。