Python Gui设计Pyqt还是Tkinter?


TkinterPyQt都用于python GUI(用户交互界面)的设计,但同时,它们在适用性和功能上又有所不同。

总的来说,两者的区别在于:

  • Tkinter是完全靠自己在一个脚本中写GUI、设置和功能等
  • 而PyQt则是将GUI和要使用的脚本分开。我们可以直接使用PyQt的Qt Designer来进行App的GUI设计,十分方便
Qt Designer

PyQt

PyQt的优点

1、代码的灵活性。PyQt的设计基于信号-槽的概念来处理对象之间的交互。这使得处理GUI的事件和结果时的代码更加流畅。

2、不仅仅是一个库。Qt使用了大量的本地平台api来实现网络连接、数据库创建等功能,通过唯一的API提供对它们的访问。

3、各种UI组件。Qt提供了一些小工具,比如按钮、菜单等。所有设计都具有跨所有支持平台的基本外观。

4、多种学习资源。因为PyQt是python最常用的一个框架之一,所以有很多很全的文档可以参考。

Qt小工具

5、易于掌握。PyQt具有用户友好、简单的API功能,以及链接到Qt C++的特定类。用户可以同时使用以前学过的Qt和C++的知识。

PyQt的缺点

1、缺乏PyQt5(目前6已经发布)中类的特定文档

2、学习曲线陡峭。需要花很多时间来掌握PyQt5的很多细节。


Tkinter

Tkinter的优点

1、可免费用于商业用途

2、在底层python库中扮演重要角色

3、使用Tkinter创建可执行文件更容易实现,因为Tkinter本身包含在Python中,因此,Tkinter也不需要其他的依赖

4、易于理解和掌握,因为Tkinter是一个有限的库,具有简单的API,因此是创建快速创建简单App的首选

Tkinter的缺点

Tkinter不包含高级的工具

没有类似PyOt的Qt Designer那样的工具

没有原生的外观和感觉

Tkinter

选择哪一个

总的来说,在大多数情况下,最好选择PyQt。

由于PyQt的基于信号-槽的灵活性,用户可以访问或使用更多的工具。

对于那些想要为Python脚本设计基本和快速的gui的人来说,Tkinter确实很有用,但是为了获得更高级的编程结果,PyQt应该是更佳的选项。