基本开发步骤
(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里调试和运行程序
创建Qt工程目录
选择项目类型
文件->新建文件或项目->项目->选择Application(Qt)->选择Qt Widgets Application
选择名称和路径
选择qmake
设置窗口名称
Translation File
选择MinGW
确定信息
完成后界面
弹出编辑器
输入窗口标题
点中Label,按住鼠标左键不动,拖到窗口中合适位置,释放鼠标左键
修改text属性
修改字体大小和颜色
把这个拉宽,让它全部显示(鼠标放到框框右下角,鼠标会变成箭头,按住鼠标左键拉动即可)
选中Label,把它拖到窗口的合适位置
修改按钮上的字
改字体
改大小和位置
文件->保存
使用pyuic5命令,注意新的py文件名是在原来ui文件名前面加上“Ui_”
拷贝前
拷贝后
双击eric6图标
新建project
当前项目目录内容
选择ui文件
可以看到这个有一个compile form命令。如果编辑过程中只是修改了ui文件,没有修改资源文件,那么就不必用pyuic5命令来编译ui文件,直接把ui文件拷贝到Eric6项目目录,在eric6中用compile form命令编译ui文件就可以。
如果修改了资源文件,那么还是要在qt目录下编译。因为资源文件编译的时候需要找qt目录下的相关文件进行编译(如图标等),移动到Eric6项目目录后再编译会出现找不到图标文件等现象。
看看编译的时间
点击compile form进行编译
可以看到文件的代码
文件的代码
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
产生运行窗口
这个时候点按钮是没反应的,因为还没放代码上去
左键选中按钮,点击右键,选择转到槽
选择click()
会弹出来FormHello.cpp窗口,文件最后会有一个空的函数。这个函数不用编辑,不用填代码进去,只需要记住函数名。函数名需要复制到Eric6的py文件中。
双击ui文件,回到编辑框
注意左侧的工具栏的内容变了
选择项目
无需在Qt Creator下写任何代码
Qt Creator只是用来生成ui文件
运行
按动按钮后,发现了变化
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有