PyQt
PyQt是Python语言的GUI编程解决方案之一。可以用来代替Python内置的Tkinter。其它替代者还有PyGTK、wxPython等。与Qt一样,PyQt是一个自由软件。PyQt是PyKDE的基础。
PyQt的开发者是英国的“Riverbank Computing”公司。与4.5版本之前的Qt一样,它提供了GPL与商业协议两种授权方式,因此它可以免费地用于自由软件的开发。不过目前尚不提供LGPL授权方式。
PySide
2009年8月,Qt的开发公司诺基亚发布PySide,提供与PyQt类似的功能,但提供了LGPL授权。主要原因是“Riverbank Computing”不愿以LGPL授权发布PyQt。
exec_()
自4.5版本以后,PyQt同时支持Python 2.x与Python 3.x。但是在API方面有所区别,最主要的是运行在Python 3.x下的PyQt不使用QString,而是str。另外,之前为了避开Python 2.x关键词限制的exec_()、print_()两个函数现在重命名为exec(),print()。
UI设计
PyQt5让我们可以使用python语言创建图形应用程序。
Qt Designer提供可视化的方式,让我们可以通过拖动各种组件进行图形应用程序的设计。
不管是在Windows还是Linux,只要安装了Qt Designer
就可以开始进行图形化应用程序的设计,产生的文件是.ui
。
在其他博客中,介绍如何在PyCharm
和VS Code
中进行配置来使用Qt Designer,其实本质上还是用过软件来执行命令调用Qt Designer的可执行文件而已。
与你直接打开***\\site-packages\\pyqt5-tools\\designer.exe
(Windows)和终端执行cd /usr/lib/x86_64-linux-gnu/qt5/bin/ && ./designer
(Ubuntu Linux)并无不同,前提是已经安装好了pyqt5-tools。
pyuic5
则是通过pyuic5的命令将.ui
的文件转化为.py
文件,例如:
在Qt Designer中设计好界面,然后保存为helloworld.ui
,接着在命令行执行:
pyuic5 helloworld.ui -o helloworld.py
如果是第一次接触,即使不太明白也没关系,在后面的博客中,还会介绍。
总的来说就是Qt Designer
通过拖拽的方式放置控件,并可通过Ctrl + r查看控件效果进行快速UI设计,生成.ui文件(实质上是XML格式的文件)
可以在Python文件中直接使用PyQt接口调用.ui
的文件,也可以通过pyuic工具转换成.py文件,再通过import导入到需要的文件中。