Python快速入门系列:PyQt5 快速开发GUI-入门

打开Eric6, 在菜单栏中选择Project=>New...

Python快速入门系列:PyQt5 快速开发GUI-入门

填写项目名称和保存路径后,点击OK按钮后出现一个提示框,是否将已有文件添加到项目中(Add existing files to the project)?虽然该项目文件夹下还没有任何文件,但是这里选择Yes。

Python快速入门系列:PyQt5 快速开发GUI-入门

点击Yes后,在弹出的文件类型关联对话框中直接选择OK。

Python快速入门系列:PyQt5 快速开发GUI-入门

在项目浏览器的顶部源代码标签里自动为我们生成一个(_init_.py)文件,该文件中没有任何代码,我们不用去理会。

Python快速入门系列:PyQt5 快速开发GUI-入门

在窗体选项卡中,右键弹出菜单,选择新建窗体。

Python快速入门系列:PyQt5 快速开发GUI-入门

在弹出对话框中选择Dialog

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

这样就会启动Qt Designer,如果无法启动,可能是因版本不一样,Eric6配置不对,可以查看我之前写的一篇有关的文章《Python快速入门系列:Eric6无法启动Qt Designer?》。

Python快速入门系列:PyQt5 快速开发GUI-入门

在窗体中添加一个文本标签(label)、两按钮(pushButton)

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

设置文本标签、两按钮的对象名(objectName)为:label_hello,bt_ok,bt_close

设置文本标签、两按钮的文字(text)为:"显示","确定","退出",双击按钮本身或者文本标签就可以设置。

Python快速入门系列:PyQt5 快速开发GUI-入门

给退出按钮添加信号/槽

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

保存,然后关闭Qt Designer

Python快速入门系列:PyQt5 快速开发GUI-入门

回到eric 6后,发现窗体下多了个hello.ui文件,此文件本质是一个xml格式文件,不能被运行,需要右击它,选择:编译窗体

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

如果编译成功,会在左上角弹出成功信息,并会在源文件选项卡下多出了Ui_hello.py文件,这个是python可以运行的文件

Python快速入门系列:PyQt5 快速开发GUI-入门

双击Ui_hello.py,并运行,如图:

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

运行结果,如图,是不是有点小激动,感觉做界面开发其实也不难。

Python快速入门系列:PyQt5 快速开发GUI-入门

不过,目前只有“关闭”按钮有功能,其它的是没有功能的,下一步我们为"确定"按钮添加逻辑代码。到窗体下右击hello.ui文件,选择: Generate Dialog Code...(生成对话框代码)

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

点击ok,回到源文件选项卡中,会发现多了一个hello.py文件

Python快速入门系列:PyQt5 快速开发GUI-入门

点击菜单 Start => RunScript 或者 按F2, 运行hello.py,会出现错误,怎么办?

Python快速入门系列:PyQt5 快速开发GUI-入门

这是因为错误是Eric6的一个bug!!!,去掉Ui前面的点号,再运行,就没有报错了。

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

不过界面还是没有出来,为什么?我们还需要为代码添加一些内容,如下: ::

if __name__ == '__main__':

import sys

from PyQt5.QtWidgets import QApplication

app = QApplication(sys.argv)

dlg = Hello()

dlg.show()

sys.exit(app.exec_())

加了一段代码后,我们就可以正常看到界面,不过,点击“确定”按钮后,还是没有反应,是因为我们还没有为按钮修改内容,把def on_bt_ok_clicked(self)中加入: ::

self.label_hello.setText('Hello world!')

修改后的代码如图:

Python快速入门系列:PyQt5 快速开发GUI-入门

保存,运行,最终效果如图:

Python快速入门系列:PyQt5 快速开发GUI-入门
Python快速入门系列:PyQt5 快速开发GUI-入门

完结,是不是觉得用PyQt5与Eric6配合开发界面其实不难?


分享到:


相關文章: