获取更多python学习福利,请关注下面公众号,或添加微信lq190604。
https://mp.weixin.qq.com/s/1dH38BtumLc0OjMjuHX_5w
Python目前可以说是世界上应用最广泛的编程语言之一,而Qt是世界上最好的图形用户界面应用程序开发框架之一。PyQt就是python与Qt结合的产物。今年年初,PyQt6已经出来了,不过我们今天介绍的还是应用最广的PyQt5。下面我将介绍一下PyQt5的安装以及在PyCharm中的配置。
安装PyQt5直接使用命令行安装pyqt5、pyqt5-tools、pyqt5designer。
pip install pyqt5 pip install pyqt5-tools pip install pyqt5designer #可装可不装,需要中文的可以安装
如果下载较慢,可以下载国内镜像源。
pip install package -i 镜像源
这里是国内一些镜像源。
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 华中理工大学:http://pypi.hustunique.com/
- 山东理工大学:http://pypi.sdutlinux.org/
- 豆瓣:http://pypi.douban.com/simple/
这里因为我使用的IDE是Pycharm,所以我将在pycharm中配置设计器,使它可以调用QtDesigner
我们打开pycahrm的设置界面
然后打开添加扩展工具
这里我们开始配置qtdesigner。Name那进行工具命名,我们可以直接设置成QtDesigner。然后在下面program选取工具所在地址,在python安装目录下的Lib文件夹下的site-packages文件夹内,我的因为在一开始安装了pyqt5designer,所以有个QtDesigner文件夹,在里面找到designer.exe,选取确定即可。
工作路劲我们设置成
P
r
o
j
e
c
t
F
i
l
e
D
i
r
ProjectFileDir
ProjectFileDir,即文件所在项目的路径。
这时,我们的pycharm内已经配置好qtdesigner了。可以直接选取打开。
此时,我们还没有配置完全,因为qtdesigner只是帮助我们构建图形界面,他生成的是ui文件,我们要想获得代码的.py还需要配置pyuic进行转换。
首先我们依旧是打开扩展工具。
Name那我们可以写pyuic即可,program那可以选取python.exe也可以选取python环境下scripts文件夹内的pyuic5.exe。
若选取python.exe,则arguments中写入
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
若选取的是pyuic5.exe,则写入
$FileName$ -o $FileNameWithoutExtension$.py
此时我们的pyuic也配置好了。
测试上述文件都配置好后,我们来测试一下。我们打开qtdesigner,选取mainwindow,拖几个组件到窗口内,然后保存。
此时我们项目文件夹下就有了qtdesigner保存的ui文件,此时我们点击扩展工具内之前添加的pyuic,就能将ui文件转成py文件。
打开py文件,此时里面只有定义的窗口代码。运行时不会有任何结果。
我们还需要添加以下运行代码。
if __name__=="__main__": import sys # PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行 app = QtWidgets.QApplication(sys.argv) mainwindow = QtWidgets.QMainWindow() # 初始化 ui = Ui_MainWindow() #这里为ui项目名,即上面class 后跟的类名。 ui.setupUi(mainwindow) mainwindow.show() #将窗口显示在屏幕上 sys.exit(app.exec_())
此时再运行,生成的界面如图所示。
当然此时的界面很简单,还不能执行任何操作,后续我们将介绍PyQt5具体的操作方法和使用。
今天我们介绍了PyQt5的安装和配置,后续我们将介绍关于pyqt5的更多使用方法。感兴趣的可以关注我们。
原文链接:https://mp.weixin.qq.com/s/1dH38BtumLc0OjMjuHX_5w



