在Python中开发GUI:Tkinter与PyQt

如果有人想在Python中开发一个用户界面,那么要select哪一个:TkInter或者PyQt?

我刚刚开始使用TkInter,并且能够获得一些简单的UI,使用标签,button,文本框等初级小部件。只是好奇地想知道PyQt与TkInter相比有多好?

干杯

PyQt,如果你正在开发任何认真的东西,特别是你学习的东西将会直接转化为Qt在其他语言中的使用,如果你需要的话,Qt可能是目前最好的跨平台接口工具包。

只有两个真正的(潜在的)缺点:PyQt仅在GPL下可用(这意味着您的代码也必须在兼容的许可证下,或者在诺基亚的GPL例外条件下,如果您释放的话)或者根据商业许可证花费金钱)。 这与现在LGPL下可用的Qt形成鲜明对比。 PyQt也没有默认包含Python安装 – 你将不得不自己打包库。 (Ars Technica在Windows和OS X上有很好的文章 。)

PyQt是我们现在的主要GUI工具包,经过一年的开发,我不想回到其他任何东西。 它稳定,成熟,跨平台,完全原生。 即使是系统对话框(例如打开文件)也是您的操作系统使用的对话框。

我调整了我的XP主题,现在我的应用程序皮肤相应。 这创造了一个非常专业的外观,不像Swing这样的工具包。 该API是广泛的,超越了纯粹的graphics用户界面的东西,像小部件。 它支持数据库连接,打印,线程(我用它,它像一个魅力),…我甚至用它来生成PDF的(不需要其他外部库)。 我build议马克·萨默菲尔德(Mark Summerfield)的书“ 使用Python和Qt进行快速GUI编程 ”来帮助你提高速度。 请记住,Qt带有一个GUI生成器(Qtdevise器),这是我用过的最好的(我尝试了很多)。
我甚至使用这个构build器来创build模型来展示给用户(这很简单!)。

我把它介绍给其他2个开发人员,并没有听到他们抱怨…

我正在使用tkinter小应用程序与简单的界面。 我非常喜欢它,即使缺乏好的所见即所得的编辑器可能是一个更大的应用程序的问题。

对于大型应用程序, PyQt可能是更好的select。 它有一个非常好的屏幕devise师,但许cocoa能是一个问题。

最后, wxPython可能是一个很好的select,因为它没有这些缺点。

PyQt是非常容易学习和文档的Qt也适用于PyQt也有端口到.NET和Java。 所以,这是仙子的跨平台和跨语言。 你也有PyQt集成在埃里克IDE 。

对CSS样式的支持也非常出色。

看到新的OpenSuSE安装程序,看看你可以用它做什么。

您可以使用Tkinter创build巨大的GUI。 如果你喜欢尝试pytkgen模块,它有助于从JSON定义创buildTkinter GUI: https : //github.com/tmetsch/pytkgen

我使用PyQt – 跨平台,易于使用和可靠。

我使用TkInter非常轻,我不能find使得PyKt更好的一点。