由于一直用的是Python2.7,所以选用了PyQt4,而不是PyQt5。
一、环境搭建
本次搭架的软件环境是win10 x64+Python 2.7.13 32bit + PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32 + eric6-16.12
1. win10 x64, Python2.7.13 32bit安装(省略)
2. PyQt4-4.11.4-gpl安装
a. 点击安装包,一路next,注意安装路径需要选择Python的路径,如下图所示
b. 安装程序退出后,如果在Python路径下的Lib\site-packages下看到PyQt4的文件夹,说明安装成功,如下图所示
3. eric6-16.12安装
a. 将解压缩后的文件夹拷贝到C盘根目录下,点击install.py进行安装
b. 安装脚本会提醒安装完成
c. 双击eric6.pyc会弹出eric的IDE
二、Hello World
Hello World参考罗兵の水库的博客,他是用PyQt5,本文用的是PyQt4,大同小易,部分相同的图片来源于罗兵,侵删,对PyQt5感兴趣的同学可以点击链接进去看看。
1. 在eric6中新建项目
点击OK后,会生成__init__.py文件
新建对话框窗体
2. 进入PyQt4 Designer编辑图形界面(自动进入),并保存
给退出按钮添加信号/槽
保存,然后关闭PyQt Designer
3. 回到eric6,将刚才的界面文件编译
回到eric6后,发现窗体下多了个hello.ui文件,此文件本质是一个xml格式文件,不能被运行,需要右击它,选择编译窗体
编译成功之后,发现源文件下多出了Ui_hello.py文件,这个文件就可以运行了
试着运行它,如图:
界面出来了,不过你会发现,只有退出按钮起作用,而确定按钮没反应。那是因为我们还没给确定按钮添加逻辑代码。
到窗体下右击hello.ui文件,选择 生成对话框代码
此处勾选pushButton下的on_pushButton_ok_clicked()
回到源代码下,发现又多出了一个hello.py文件
运行,发现错误。
这个错误应该是eric 6的一个bug!!!,去掉Ui前面的点号,再运行,就没有报错了,但是这时候还是看不到窗体。
少了几行代码,eric6并没有自动添加。那就自己动手吧,在hello.py的最下面添加这几行:
if __name__ == '__main__':
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
dlg = Hello()
dlg.show()
sys.exit(app.exec_())
窗体终于又出来了,但是点击确定按钮的时候又报错了。原因很简单,我们还没有覆写给确定按钮的逻辑代码。
把原来的代码删除,修改为一句。
@pyqtSignature("")
def on_pushButton_ok_clicked(self):
self.label_hello.setText('Hello world!')
保存一下,然后运行。OK,大功告成!