如果有人想在Python中开发一个用户界面,可以选择哪一个:TkInter或PyQt?
我刚开始使用TkInter,我可以使用标签,按钮,文本框等基本小部件来获得一些简单的UI。只是想知道PyQt与TkInter相比有多好?
欢呼声
答案 0 :(得分:61)
PyQt如果你正在开发任何严肃的东西,特别是你学到的东西将直接转换为在其他语言中使用Qt,如果你需要的话,Qt可能是目前最好的跨平台界面工具包。 / p>
只有两个真正的(潜在的)缺点:
PyQt仅在GPL下提供。这意味着如果您发布代码,则必须在兼容许可下,Nokia's GPL Exception条款下或商业许可下(需要花钱)。这与Qt形成对比,Qt现在可以在LGPL下获得。
默认情况下,Python安装不包含PyQt。您将不得不自己打包库。 (Ars Technica为Windows和OS X做了good article。)
答案 1 :(得分:34)
PyQt现在是我们的主要GUI工具包,经过1年的开发,我不想回归其他任何事情。它稳定,成熟,跨平台,完全原生。甚至系统对话框(例如打开文件)也是操作系统使用的对话框。
我调整了我的XP主题,现在我的应用程序皮肤相应。这创造了一种非常专业的外观,与Swing
之类的工具包无法比拟。 API非常广泛,超越了像小部件这样的纯GUI。它支持数据库连接,打印,线程(我使用它,它就像一个魅力),...我甚至用它来生成PDF(不需要其他外部库)。我会推荐Mark Summerfield的书“Rapid GUI Programming with Python and Qt”,以帮助你提高速度。请记住,Qt附带了一个GUI构建器(Qt设计器),这是我使用过的最好的(我尝试了很多)。
我甚至使用这个构建器来创建模型以向用户显示(这很简单!)。
我在这里向其他2位开发者介绍过,并没有听到他们抱怨......
答案 2 :(得分:17)
我正在使用tkinter
用于小型应用程序,界面简单。我非常喜欢它,即使缺少好的WYSIWYG编辑器可能会对更大的应用程序造成问题。
对于大型应用,PyQt
可能是更好的选择。它有一个非常好的屏幕设计师,但许可可能是一个问题。
最后,wxPython
可能是一个不错的选择,因为它没有这些缺点。
答案 3 :(得分:7)
PyQt非常容易学习,Qt的文档也适用于PyQt,还有.NET和Java的端口。所以,它是童话跨平台和跨语言。 你还在Eric IDE中集成了PyQt。
对CSS样式的支持也非常出色。
请参阅新的OpenSuSE安装程序,了解您可以使用它做什么。
答案 4 :(得分:3)
您可以使用Tkinter创建巨大的GUI。如果你喜欢尝试pytkgen模块,它有助于从JSON定义创建Tkinter GUI:https://github.com/tmetsch/pytkgen
答案 5 :(得分:1)
我使用PyQt - 跨平台,易于使用且可靠。
我使用TkInter非常轻,我无法找到一个使得tkInter比PyQt更好的观点。