很多同学都知道PyQt5图形界面编程中有Qt设计师这个东西,那么这玩意怎么用呢?下文会谈到。
首先我们来介绍一下PyQt5开发环境的搭建!
在教程中我们使用的Python3.5.2和PyQt5.6的开发环境。具体怎么搭建呢,主要分以下几个步骤:
1. 对于Python来说我们下载的是它的集成开发环境anaconda3-4.2.0,这个是针对Python3.5的。
为什么选择这个集成开发环境?原因如下:该集成开发环境使用广泛
包含了众多流行的科学、数学、工程、数据分析的 Python 包
完全开源和免费
全平台支持:Linux、Windows、Mac
支持 Python 2.x 和 3.x
2. 安装PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exe
这个也是我们选择Python3.5版本的原因。因为这个是PyQt针对windows用户提供了一个exe的安装包。这个安装包是针对Python3.5版本的。通过这个安装包能够实现我们的快速安装,方便使用。而anaconda官网上提供的是最新的Python3.6的开发环境。
3. 我们再安装eric6这个程序编辑器,通过这个程序编辑器实现快速图形界面的开发。当然你有更顺手的也一样。
-------------------------------------------------------华丽的分割线---------------------------------------------------------
下面我们图解一下相关的步骤:
1. 先去微信公众号-课程中软件下载上去下载本次教程中相应的开发工具,当然你也可以去官方网站上去下载,具体网址见最后。
2. anaconda安装比较简单,除了安装路径改成在c盘外,其它均采用默认设置,一路next下去就行了。
3. 接下来我们安装PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exe,同anaconda一样,一路next下去就行了。
4. 这个时候我们可以使用"import PyQt5"验证一下是否安装成功了。
5. 最后我们再来安装eric6-17.06,这个的安装较前面的有点复杂,我们一步一步来。我们将下载下来的文件进行解压,发现文件中有一个名为"install.py"的文件,这个就是我们需要的安装文件。
5.1. 现在我们在当前目录下,打开命令行,输入:python install.py,进行安装。实际的安装时间比动画里面的时间长一点。出现"Press enter to continue..."时候表明已经安装完毕。
5.2 那么可自行文件在哪里呢?因为我们anaconda3是安装在c盘,所以我们在C:\Anaconda3\Scripts目录下,找到一个名为"eric6"的批处理文件,这个就是启动eric6的启动钥匙了。我们将其复制到桌面以备后用。
5.3 双击"eric6"这个批处理文件(会出现一闪的情况,耐心等待一下),如果出现如下的画面,基本表示已经成功了。
5.4 剩下的就是要对其进行一些基本配置,以便使用。先配置一下api,如下图:
语言我们选择:Python3。然后添加API进行编译。如下图:
添加api进行编译,编译的时间相对较长,请耐心等待。
最后我们把eric6的补全功能加上。如下图:
5.5 好了,我们试一试找一个例子来试一试吧。具体的程序讲解放到下期。
import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.show()
sys.exit(app.exec_())
执行结果如下,好有windows风格:
之前和同学交流的时候希望能用Qt设计师演示一下程序的开发。下面我们来演示一下。
1. 首先打开eric6,新建一个项目。
2. 选择窗体,新建窗体,主窗口。生成的UI文件保存到当前项目。
3. 然后我们进入Qt设计师。Qt左侧有很多小部件供我们选择,当然这个例子不用。直接保存即可,然后回到eric6。
4. 因为生成的是UI文件,无法运行啊,我们需要将其转成py文件。在所涉及的UI文件上单机右键,选择编译窗体。
5. 出现编译成功即可。建议所有文件名及所在文件夹,均用英文,避免出现未知错位。
6. 下图就是我们编译后的UI文件啦。
7. 双击打开编译后的py文件,发现好多代码。
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(721, 565)
self.centralWidget = QtWidgets.QWidget(MainWindow)
self.centralWidget.setObjectName("centralWidget")
MainWindow.setCentralWidget(self.centralWidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
8. 按下F2,然后ok键,运行一下这个py文件。执行结果如下:
除了大些,貌似都一样啊。但是代码多了很多。没有完美的东西,毕竟我们在享受Qt设计师给我们带来的愉悦的同时,自然要承受一些不足了。
这也是我强调为什么要先学代码后用Qt设计师的原因,只有学会的基本的知识,才知道如何改进和优化代码啊!
--------------------------------------------------------华丽的分割线--------------------------------------------------------
今天的最后一部分,我们在介绍一下跨平台的问题。我们知道PyQt5的图形程序是可以在linux下运行的,所以我们把刚才编写的程序,放到ubuntu运行一下,我用的是ubuntu kylin 14.04,仅供演示一下。
当然运行之前把环境还是要搭建一下,这个比较简单,就不做图解。用一个小命令就搞定了。
sudo apt-get install python3-pyqt5
然后将程序运行一下,看看执行结果啦,这里运行的程序名称是:"win.pyw"
chmod +x win.pyw
python3 win.pyw
ubuntu环境下的窗口好有ubuntu风格,的确和windows系统下有较大的样式差异性。
好了,今天就约到这里,我们下期再约。
附:
anaconda的官网地址:Continuum
最后附上我的微信公众号:学点编程吧,欢迎关注,下载开发工具。
在实操中遇到问题?欢迎来讨论。学点编程吧-百度贴吧--计算机程序学习的园地!--学点编程吧,让我们的生活更简单,更高效!能用计算机解决的事情,尽量不要让人解决。如果你在学习当中有任何疑问、学习心得、职业发展等内容欢迎在贴吧中分享,让我tieba.baidu.com