我在哪里可以找到最现代的教程来教tkinter和ttk?
在python 3中,tkinter似乎是唯一的方法(不建议使用python 2),而ttk给了我希望使用美观的GUI。
好吧,如果没有将python 2库移植到python 3,那么让我们将python2转换成python3……from __future__ import unicode_literals,division,print_function等
@JBernardo,tkinter并不像以前那么糟糕,你可以用它制作非常好的gui。它比以前的版本更好地使用系统的控件和主题。为了获得更好的间距,您可能需要稍微调整页边距和填充。这是派克最擅长的一件事。Pyqt也是一个很好的库(和Pygtk),但是您仍然可以用Tkinter生成很好的接口。
@jbernado:丑陋是主观的,有点脱离主题小工具的现代tk。另外,坦率地说,大多数应用程序不需要太多的可视化pizazz——功能和/或易于开发往往是驱动因素。
@布莱恩"功能性和/或易开发性"老兄,这就是Pyqt的意义所在。qt设计器是一个很好的接口工具
@Blaxpirit:移植到Python3是一个好主意。做那件事!但这比你说的要复杂得多。这是帮助!网站
建议pyqt反对tkinter就像建议Oracle反对sqlite。
我发现tkdocs教程非常有用。它描述了使用python和Tkinter和ttk构建Tk接口,并指出了python 2和3之间的区别。它在Perl、Ruby和Tcl中也有示例,因为其目标是教授Tk本身,而不是教授特定语言的绑定。
我并没有从头到尾地把这整件事都讲一遍,只是用了一些主题作为我一直坚持的事情的例子,但它很有指导性,写起来也很舒服。今天,阅读简介和前几个部分,我觉得我将开始完成剩下的部分。
最后,它是最新的,并且网站有一个非常漂亮的外观。他还有许多其他值得查看的页面(小部件、资源、博客)。这家伙做了很多工作,不仅教会了tk,而且提高了人们的理解,那不是它曾经的丑陋野兽。
我对本教程的看法是,本教程中的例子看起来,缺少一个更好的词,难看。如果有人想破除tk应用程序看起来不好的神话,那就不应该教ppl如何做对吗?
我建议使用NMT Tkinter 8.5参考。
主题小工具
自定义和创建TTK主题和样式
查找和使用主题
使用和自定义TTK样式
TTK元素层
一些示例中使用的模块名是Python2.7中使用的模块名。下面是python 3:link中名称更改的参考
TTK的便利之一是你可以选择一个预先存在的主题,这是应用于TTK小部件的一整套样式。
下面是我为python 3编写的一个示例,它允许您从组合框中选择任何可用的主题:
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
bo = bobox(frm, values=available_themes)
bo.pack(padx=32, pady=8)
# make the Enter key change the style
bo.bind('', 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 = bo.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"主题可用。
NMT参考是一种很好的资源。每当我与tkinter合作时,我都会保持tkinter pdf版本的打开状态。
我建议您阅读文档。它简单而权威,适合初学者。
它并不新鲜,但它很简洁,从我所看到的情况来看,它对python 2和3都有效。
一句话也不说
哦,伊克斯,忽略了这一部分,尽管它们与我所看到的相当可互换。
如果觉得《python tkinter ttk_关于tkinter和ttk的新教程 适用于Python 3》对你有帮助,请点赞、收藏,并留下你的观点哦!