用 Eric6 与 PyQt5 结合,很是方便的实现界面与逻辑分离,知足python的极速GUI编程,你只须要关注程序的逻辑实现,而不须要在界面上花不少时间。python
能够说这是一对GUI开发完美的组合!编程
为了方便使用在正式开始以前咱们先简单配置一下Eric6的项目工做区浏览器
配置Eric6编辑器
打开Eric6函数
选择菜单栏 设置-首选项工具
在左侧列表中选择项目-多重项目,点击右侧图标后选定硬盘中的一个位置,我这里是F:\Python\PyQt5文件夹。选好后点击右下方的OK按钮。测试
简单配置后,让咱们正式开始体验极速GUI开发ui
实例设计
创建项目3d
打开Eric6,菜单栏中选择项目-新建
在项目属性对话框中的项目名称中输入Hello,你会发现右下方的OK按钮不可用。究其缘由是项目文件夹中显示的是咱们刚设置的多重项目工做区目录,也就是说在该目录下能够存在多个项目。多个项目混在一块儿确定是不行的了,还要将它们用文件夹区分开来,简而言之就是该目录下的每一个文件夹就是一个项目(固然了,本身胡乱建立的文件夹确定不是了)。找到缘由后咱们就能够解决问题了。
点击项目文件夹后面的图标
在打开的选择项目文件夹对话框中右键点击空白处,在弹出的菜单中选择新建-文件夹
更改新建文件夹的名称为Hello(通常与项目名称同),选中该文件夹后点击右下方的选择文件夹按钮
回到项目属性对话框后能够看到项目文件夹已变成F:\Python\PyQt5\Hello,同时右下角的OK按钮已显示可用。
点击OK按钮后出现一个提示框,是否将已有文件添加到项目中?虽然该项目文件夹下尚未任何文件,可是这里选择Yes,由于我曾经选择No后到运行脚本时发现不能执行该功能。
点击Yes后在弹出的文件类型关联对话框直接OK
观察程序主界面的标题栏发现显示Hello – eric6。在项目浏览器的顶部源代码标签里自动为咱们生成一个_init_.py文件,该文件中没有任何代码,咱们不用去理会。
建立窗体
点击源代码标签右边的窗体标签,在标签下面的空白处右键点击,弹出的菜单选择新建窗体
弹出新建窗体对话框,能够选择其它窗体类型,这里咱们使用默认对话框类型,点击OK按钮
在弹出的新建窗体保存对话框中能够看到程序已将路径定位到项目文件夹下,输入文件名后点击保存按钮
在Eric6的窗体标签下能够看到程序已自动建立了HelloWindow.ui文件
设计窗体
点击上一步的保存按钮后,计算机会直接打开Qt设计师,并自动将HelloWindow.ui加载到程序中
在左侧的Widget Box里找到Push Button控件,用鼠标左键按住该控件不放,拖拽到HelloWindow.ui的设计窗体。拖拽两个Push Button控件到窗体
再找到Label控件,拖拽一个该控件到窗体
在程序的右侧观察对象查看器与属性编辑器。使用对象查看器能够快速选取窗体中的控件,属性编辑器能够编辑修改窗体、控件的各类属性。
利用对象查看器选择咱们刚拖拽的三个控件,分别将它们的objectName属性更改为:
分别将它们的text属性更改为:
编辑信号/槽
接下来给关闭按钮添加退出程序的命令。在Qt设计师中,能够很直观的为控件添加事件命令,在PyQt5中这种方式添加的事件命令被称为信号/槽。(注:信号/槽机制是PyQt独有的信号传递机制,使用很是方便)
点击工具栏的编辑信号/槽图标
鼠标移动到关闭控件上面,左键按下拖拽处红色地线标志后松开鼠标
弹出配置连接窗口,在该窗口中勾选显示从QWidget继承的信号和槽
在左侧列表选择clicked(),在右侧列表选择close()。
这个操做的意义为:当点击关闭按钮时,执行关闭命令
点击OK后能够看到刚选择的两项已连接附加到关闭按钮上
点击工具栏中的保存按钮后关闭Qt设计师程序
编译测试
回到Eric6中,右键点击HelloWindow.ui文件,在弹出的菜单中选择编译窗体
稍等片刻后程序会提示编译成功
返回源代码标签能够发现项目中多了一个Ui_HelloWindow.py文件,双击该文件能够查看咱们设计好的窗体代码
点击菜单栏的开始-运行脚本(或直接按键盘F2键)
在弹出的运行脚本对话框直接OK
OK后便可看到咱们刚在Qt设计师中设计的窗体,点击关闭按钮
弹出对话框中直接OK,便可关闭该程序
进一步完善程序
到如今咱们没有编写一句代码便可实现了程序的显示与退出
接下来咱们手动给肯定按钮添加事件命令
在Eric6中的项目浏览器中找到HelloWindow.ui文件,右键点击该文件,弹出菜单中选择生成对话框代码
在弹出的窗体代码产生器窗口中点击新建
弹出新建对话框类中输入类名后点击OK
回到窗体代码产生器窗口后展开Button_ok(QPushButton),勾选on_Button_ok_clicked(),点击OK
在项目浏览器中能够看到源代码标签下又多了一个HelloWindow.py文件
双击该文件查看程序内容。若如今F2,程序将会报错,将
from .Ui_HelloWindow import Ui_Dialog
中.Ui前面的点去掉
from Ui_HelloWindow import Ui_Dialog
保存后若F2,发现仍是不行,程序一闪而过。给源码添加如下内容
保存后F2,没问题了,能够点击肯定按钮后仍是会报错,是由于咱们尚未告诉程序点击肯定按钮后程序作出什么反应,修改on_Button_ok_clicked函数以下
保存后F2,点击肯定后Label内容显示会变成这是个人第一个 PyQt5 程序,一切正常
附录与后记
附图
附加图:Label控件的位置与宽度
附加图:完成后的文件
后记
虽然咱们经过这个实例可以感觉获得PyQt5与Eric6结合使用的强大功能与极速GUI开发的能力非比寻常,但是对于刚接触PyQt5与Eric6的童鞋来讲,要想发挥PyQt5与Eric6的强大功能与极速开发也是痴人说梦,究其缘由是PyQt5与Eric6的结合让咱们只用少许的代码编写就能够实现不少强大的功能,几乎底层的代码都不用去本身编写,所以,PyQt5真正强大的内容离咱们很远。
这个实例就像一层窗户纸被捅破了,可是咱们根本就迈不过去。因此若要真的学会PyQt5咱们还需多学些PyQt5的底层内容,多手动编写一些代码。当随着咱们的PyQt5水平不断提升,到那时咱们会发现PyQt5与Eric6结合使用才是如虎添翼,驰骋在程序的海洋。