使用eric6创建并运行第一个QT程序
创建第一个QT程序:
点击new project
项目名:test
保存位置:D:\eric6space\test
选yes。
选OK。
保存位置中自动生成如下文件
下面开始创建QT端的UI文件:
选择要生成的窗体对象,这里选什么都可以,后续进入到QT设计师中可以删除重新打开其他的类型
点击OK,选择保存位置,这里推荐新建文件夹,让UI代码和业务代码分开
刚才是选择路径,现在输入要起的文件名,点击保存
文件夹中生成新的UI文件:
并自动打开QT设计师:
在这里设计前端界面即可。
接下来做一个猜数小游戏:
选中Push Button 拖动到MainWindow中
双击PushButton,改显示内容(text),在右边属性编辑器中,对按钮属性赋值,这里我改了他的字体大小
然后我们增加一个Line Edit部件,并双击写下默认显示的文字,如下图:
前端大致已经做好了,接下来我们要把设计的界面生成对应代码,并自定义一下单击按钮后会产生的响应。转到eric6端,编译一下刚刚设计的Ui
编译之后自动生成Ui_开头的python文件,是UI设计直接转换成py代码,可以直接在eric6里运行
再生成业务端的初步代码:
点击New,输入类名和文件名,调整Path,为了独立性,path最好不要和刚刚编译产生UI代码放在一个文件夹,这里我们选择放在上一级文件里即可
点击OK后勾选给刚刚的按钮创建单击事件对应的函数。
OK之后,生成了第二个py文件,主要是用来写业务代码
在eric6中也可以看到对应的新文件
UI_开头的py文件是直接可以运行的,他是Qt设计师中设计的界面直接对应的代码,eric6帮我们生成了一个类,业务代码里的主函数中引入了这个类。
UiMainWindow.py继承了前者中的类,具体的逻辑代码是要在UIMainWindow.py中实现的。
接着需要编写代码,来实现业务逻辑。
由于自动生成的UiMainWindow.py,导入的包不全,我们需要自己手导一下需要用到的包。
注意删除自动生成的点,此点删除不影响程序运行,如果不删除,有时会报错。
由于我们UI代码业务代码分离,不在同一文件夹下,待会运行时以业务代码主函数所在地址为工作地址,所以我们在导UI代码时,需要加个前缀
此程序需要手动加入以下包
初始化函数新增代码:
完善按钮对应函数:
新增函数,关闭提示:
编写主函数:
主函数中,第一句和第三句是固定的,可以理解为启动和关闭。
第二句话实例化了上面编写的类,自动运行了其中的初始化函数。
业务python文件完整代码如下:
# -*- coding: utf-8 -*-
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtWidgets import *from UiCode.Ui_UiMainWindow import Ui_MainWindow
from random import randintimport sysclass MainWindow(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MainWindow, self).__init__(parent)self.setupUi(self)self.num = randint(1,100)self.show()@pyqtSlot()def on_pushButton_clicked(self):guessnumber = int(self.lineEdit.text())print(self.num)if guessnumber > self.num:QMessageBox.about(self, '看结果','猜大了!')self.lineEdit.setFocus()elif guessnumber < self.num:QMessageBox.about(self, '看结果','猜小了!')self.lineEdit.setFocus()else:QMessageBox.about(self, '看结果','答对了!进入下一轮!')self.num = randint(1,100)self.lineEdit.clear()self.lineEdit.setFocus()def closeEvent(self, event):reply = QMessageBox.question(self, '确认', '确认退出吗', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)if reply == QMessageBox.Yes:event.accept()else:event.ignore()if __name__ == "__main__":app = QApplication(sys.argv)action = MainWindow()sys.exit(app.exec_())
文件整体架构:
F2运行,工作路径随便选
关闭所有程序后,想要再次打开,只需要用eric6 open.epj文件即可
有时我们业务代码可能有好几个py文件,所以为了统筹,一般把主函数单独写在一个新的main里
用main引用业务代码即可,就能在main里运行程序了!
使用eric6创建并运行第一个QT程序相关推荐
- Qt入门01 创建第一个Qt程序
一.安装Qt及Qt Creator 1.Qt下载地址 常用的工具也在这些地方可以找到,当然也可以直接官网下载,考入到网速因素,国内的镜像源网站还是要更快一些.Qt 5.15 之后已经不提供离线安装包了 ...
- 04 创建第一个Qt程序
最新QT从入门到实战完整版 一.04 创建第一个Qt程序 来自 一.04 创建第一个Qt程序 好,那么刚才我们看到了Qt create的一单一些简单介绍之后呢,我们不可能只是对它进行一个简单的简介就完 ...
- 跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application
本文介绍创建和运行第一个Real Time Application的详细步骤,木木大哥尽量详细点,图文并茂. 一.创建Simulink模型 - (1)在本地硬盘上创建一个空白文件夹 创建一个空 ...
- 【Qt】第一个Qt程序
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 编写Hello World程序 04. 编译运行程序 05. 预留 06. 附录 01. 概述 QtCreator作为Qt ...
- QT学习——Qt工具介绍,Qt助手使用,第一个Qt程序,Qt字符串和字符编码
一.Qt主要工具介绍 1)qt助手(assistant) 2)qt构建器(qmake) 3)qt设计师(designer) 4)qt转换器(uic) 5)qt资源编译器(rcc) 6)qt元对象编译器 ...
- Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序
文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...
- cmd 将文件夹下文件剪切到另外一个文件_手把手教你运行第一个 Java 程序,看不懂你来骂我!...
码字不易,对你有帮助 **点赞 /转发↪️/关注 ** 支持一下作者 微信搜公众号:不会编程的程序圆br/>看更多干货,获取第一时间更新 在运行第一个 java 程序之前,你需要先将 java ...
- 第2章 创建你的第一个 LISP 程序 Creating Your First Lisp Progr
2019独角兽企业重金招聘Python工程师标准>>> 第2章 创建你的第一个 LISP 程序 Creating Your First Lisp Program 翻译者:FreeBl ...
- 在IntelliJ IDEA中创建和运行java/scala/spark程序
本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介 ...
最新文章
- python数据分析方法五种_加速Python数据分析的10个简单技巧(上)
- 树莓派命令连接wifi_树莓派连接无线网wifi配置方法
- python如何在没有环境的电脑上执行_没安装python的电脑可以运行python写的程序吗 python语言编写的程...
- python画图小猪佩奇_用Python代码画小猪佩奇 Python简直太神奇了
- Dev-C++下载与安装教程
- vue在线预览word踩坑日记
- JAVA/JSP B2C系统介绍
- Dropbox使用问题
- 刘夏真的简历中国科学院计算机所,刘夏_广西医科大学研究生导师信息
- WM_ERASEBKGND消息及位图背景与透明的实现
- 期货量化策略的分类与概述(完整录播版)
- 开发会自测为什么测试还会单独存在?软件测试八大误区
- 整数平方和立方对照表
- speedoffice(Word)里面怎么才能输入平方
- 程序员需要学习英语吗?
- Cascaded Shadow Map(CSM)中的一些问题
- 学了python可以做什么兼职,学python真的能做兼职吗?
- 前端菜鸟模仿新浪导航
- 组合数C(m,n)的四种求法
- HTML常用标签及跳转