笔记
http://www.python3.vip/tut/py/gui/qt_01/
Python Qt 简介
程序的用户交互界面,英文称之为 UI (user interface)
当一个应用的 UI 比较复杂的时候,命令行方式就不便用户使用了,这时我们需要图形界面。
GUI的三种解决方案
如果使用 Python
语言开发跨平台
的图形界面的程序,主要是有3种选择:
- Tkinter
基于
Tk
的Python库,这是Python官方采用的标准库(也就是说我们使用了Tkinter之后就不需要安装其他的库了),优点是作为Python标准库(开源)、稳定、发布程序较小,缺点是控件相对较少。
- wxPython
基于
wxWidgets
的Python库,优点是控件比较丰富,缺点是稳定性相对差点、文档少、用户少。
文档简单,用户稀少
- PySide2、PyQt5
基于
Qt
的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。
缺点是 库比较大,发布出来的程序比较大。
这三个解决方案都是使用Python语言将一个其他的第三方库包裹
起来,总之,都是使用Python语言提供了一个开发接口
GUI的选择
思考:这三种解决方案,我们到底应该选择哪种呢?
建议(白月黑羽):
- Tkinter
如果大家要开发小工具,界面比较简单,可以采用
Tkinter
。
- wxPython
不建议使用
wxPython
- PySide2、PyQt5
如果是发布功能比较多的正式产品,采用基于Qt的
PySide2、PyQt5
,因为它稳定、控件丰富。
将来如果我们的产品的界面比较复杂的话,有各种类型的控件,推荐采用PySide2、PyQt5
,因为它的控件丰富,还可以自己定制,而且在网络上还有很多其他的开源的贡献者为我们定制好了第三方库拿来用,这样的话就会大大加快我们开发的速度。
Pyside2 & PyQT5
PySide2、PyQt5都是基于著名的QT库,这两个库的作用其实都是一样的。
Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。
PySide2、PyQt5这两者有什么区别呢?
可以形象地这样说: PySide2 是Qt的亲儿子
(QT组织官方开发的), PyQt5 是Qt还没有亲儿子之前的收的义子
(Riverbank Computing这个公司开发的)。
那为什么 PyQt5 这个义子 反而比 PySide2 这个亲儿子更出名呢?
原因很简单:PySide2 这亲儿子最近(2018年7月)才出生。
但是亲儿子毕竟是亲儿子,Qt准备大力培养,PySide2 或许更有前途。
已经在使用 PyQt5 的朋友不要皱眉, 两个库的使用 对程序员来说,差别很小:它们的调用接口几乎一模一样。
如果你的程序是PyQt5开发的,通常只要略作修改,比如把导入的名字从 PyQt5 换成 PySide2 就行了。反之亦然。
安装PySide2
https://blog.csdn.net/yuhui_2000/article/details/109481036
安装PyQT5
https://blog.csdn.net/yuhui_2000/article/details/109481036