前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQt5开发环境搭建 1.2 简单的例子

PyQt5开发环境搭建 1.2 简单的例子

作者头像
会洗碗的CV工程师
发布2023-02-26 15:18:50
1.4K0
发布2023-02-26 15:18:50
举报
文章被收录于专栏:LongJava学习资料LongJava学习资料

目录

基本开发步骤

创建Eric6工程目录

使用Qt Creator创建Qt项目

创建项目

Kit Selection

打开编辑窗口

打开form

放一个Label

拖动Label

放一个Button

拖动Push Button

保存UI文件

编译ui文件

当前项目下文件列表

将ui文件编译成py文件

将ui文件和py文件拷贝到Eric6目录中

使用Eric6创建项目

打开Eric6

编译ui文件

选择form

编译ui文件

写代码

进入代码页

点开Ui_FormHello.py文件

运行

关闭窗口

为按钮添加代码

进入Qt Creator,打开编辑框

复制函数名

点击底部的信号与槽

直接转到Eric6

插入代码

找帮助

PyQt5 Tutorial

Qt Creator上找(最好用)


基本开发步骤

(1)使用Eric6创建工程目录

(2)在Eric6工程目录下新建目录,如QtApp

(3)使用Qt Creator,在QtApp目录下新建项目,设计窗体UI文件

(4)编译窗体UI文件和资源文件

(5)将编译后的窗体和资源py文件拷贝到Eric6工程目录下

(6)在Qt Creator中使用Go to Slot对话框为组件的信号生成槽函数框架,复制函数名到Eirc6中定义槽函数并编写实现代码

(7)如果要修改窗体UI文件,需要回到Qt Creator进行修改

(8)将修改后的窗体UI文件拷贝回Eric6目录

(9)在Eric6下对窗体进行编译(只是编译UI窗体的话,用Eric6命令就可以实现)

(10)在Eric6里调试和运行程序

创建Eric6工程目录

创建Qt工程目录

使用Qt Creator创建Qt项目

创建项目

选择项目类型

文件->新建文件或项目->项目->选择Application(Qt)->选择Qt Widgets Application

选择名称和路径

选择qmake

设置窗口名称

Translation File

Kit Selection

选择MinGW

确定信息

完成后界面

打开编辑窗口

打开form

弹出编辑器

输入窗口标题

放一个Label

拖动Label

点中Label,按住鼠标左键不动,拖到窗口中合适位置,释放鼠标左键

修改text属性

修改字体大小和颜色

把这个拉宽,让它全部显示(鼠标放到框框右下角,鼠标会变成箭头,按住鼠标左键拉动即可)

选中Label,把它拖到窗口的合适位置

放一个Button

拖动Push Button

修改按钮上的字

改字体

改大小和位置

保存UI文件

文件->保存

编译ui文件

当前项目下文件列表

将ui文件编译成py文件

使用pyuic5命令,注意新的py文件名是在原来ui文件名前面加上“Ui_”

将ui文件和py文件拷贝到Eric6目录中

拷贝前 

 拷贝后

使用Eric6创建项目

打开Eric6

双击eric6图标

新建project

当前项目目录内容

编译ui文件

选择form

选择ui文件

编译ui文件

可以看到这个有一个compile form命令。如果编辑过程中只是修改了ui文件,没有修改资源文件,那么就不必用pyuic5命令来编译ui文件,直接把ui文件拷贝到Eric6项目目录,在eric6中用compile form命令编译ui文件就可以。

如果修改了资源文件,那么还是要在qt目录下编译。因为资源文件编译的时候需要找qt目录下的相关文件进行编译(如图标等),移动到Eric6项目目录后再编译会出现找不到图标文件等现象。

看看编译的时间

点击compile form进行编译

看看编译后的时间

写代码

进入代码页

点开Ui_FormHello.py文件

可以看到文件的代码

文件的代码

代码语言:javascript
复制
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_FormHello(object):
    def setupUi(self, FormHello):
        FormHello.setObjectName("FormHello")
        FormHello.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(FormHello)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(100, 220, 531, 51))
        font = QtGui.QFont()
        font.setFamily("隶书")
        font.setPointSize(24)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(200, 330, 291, 91))
        font = QtGui.QFont()
        font.setFamily("黑体")
        font.setPointSize(36)
        self.pushButton.setFont(font)
        self.pushButton.setObjectName("pushButton")
        FormHello.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(FormHello)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
        self.menubar.setObjectName("menubar")
        FormHello.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(FormHello)
        self.statusbar.setObjectName("statusbar")
        FormHello.setStatusBar(self.statusbar)

        self.retranslateUi(FormHello)
        QtCore.QMetaObject.connectSlotsByName(FormHello)

    def retranslateUi(self, FormHello):
        _translate = QtCore.QCoreApplication.translate
        FormHello.setWindowTitle(_translate("FormHello", "bkj1-3"))
        self.label.setText(_translate("FormHello", "让我看看这个窗口的输出效果"))
        self.pushButton.setText(_translate("FormHello", "按我试试"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    FormHello = QtWidgets.QMainWindow()
    ui = Ui_FormHello()
    ui.setupUi(FormHello)
    FormHello.show()
    sys.exit(app.exec_())

运行

点ok

产生运行窗口

这个时候点按钮是没反应的,因为还没放代码上去

关闭窗口

为按钮添加代码

进入Qt Creator,打开编辑框

左键选中按钮,点击右键,选择转到槽

选择click()

复制函数名

会弹出来FormHello.cpp窗口,文件最后会有一个空的函数。这个函数不用编辑,不用填代码进去,只需要记住函数名。函数名需要复制到Eric6的py文件中。

双击ui文件,回到编辑框

点击底部的信号与槽

注意左侧的工具栏的内容变了

选择项目

直接转到Eric6

无需在Qt Creator下写任何代码

Qt Creator只是用来生成ui文件

插入代码

运行

按动按钮后,发现了变化

找帮助

不会写组件的代码怎么办?找帮助。比如不会写这个代码

PyQt5官网

PyQt5 Reference Guide — PyQt Documentation v5.15.4

PyQt5 Tutorial

PyQt5 tutorial - learn GUI programming with Python and PyQt5

Qt Creator上找(最好用)

Qt Creator  帮助->索引

Python中查找帮助信息

dir(QLabel)会列出QLabel的所有属性和方法的名称,包括所有从父类继承的属性和方法 

help(Qlabel)会更详细地列出QLabel类的所有属性和方法

help(Qlabel.setText)用来显示该方法的原型

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本开发步骤
  • 创建Eric6工程目录
  • 使用Qt Creator创建Qt项目
    • 创建项目
      • Kit Selection
    • 打开编辑窗口
      • 打开form
    • 放一个Label
      • 拖动Label
    • 放一个Button
      • 拖动Push Button
    • 保存UI文件
      • 编译ui文件
        • 当前项目下文件列表
        • 将ui文件编译成py文件
      • 将ui文件和py文件拷贝到Eric6目录中
      • 使用Eric6创建项目
        • 打开Eric6
        • 编译ui文件
          • 选择form
            • 编译ui文件
            • 写代码
              • 进入代码页
                • 点开Ui_FormHello.py文件
                  • 运行
                    • 关闭窗口
                    • 为按钮添加代码
                      • 进入Qt Creator,打开编辑框
                        • 复制函数名
                          • 点击底部的信号与槽
                            • 直接转到Eric6
                              • 插入代码
                              • 找帮助
                                • PyQt5 Tutorial
                                  • Qt Creator上找(最好用)
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档