创建第一个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程序相关推荐

  1. Qt入门01 创建第一个Qt程序

    一.安装Qt及Qt Creator 1.Qt下载地址 常用的工具也在这些地方可以找到,当然也可以直接官网下载,考入到网速因素,国内的镜像源网站还是要更快一些.Qt 5.15 之后已经不提供离线安装包了 ...

  2. 04 创建第一个Qt程序

    最新QT从入门到实战完整版 一.04 创建第一个Qt程序 来自 一.04 创建第一个Qt程序 好,那么刚才我们看到了Qt create的一单一些简单介绍之后呢,我们不可能只是对它进行一个简单的简介就完 ...

  3. 跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application

    本文介绍创建和运行第一个Real Time Application的详细步骤,木木大哥尽量详细点,图文并茂. 一.创建Simulink模型 - (1)在本地硬盘上创建一个空白文件夹     创建一个空 ...

  4. 【Qt】第一个Qt程序

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 编写Hello World程序 04. 编译运行程序 05. 预留 06. 附录 01. 概述 QtCreator作为Qt ...

  5. QT学习——Qt工具介绍,Qt助手使用,第一个Qt程序,Qt字符串和字符编码

    一.Qt主要工具介绍 1)qt助手(assistant) 2)qt构建器(qmake) 3)qt设计师(designer) 4)qt转换器(uic) 5)qt资源编译器(rcc) 6)qt元对象编译器 ...

  6. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  7. cmd 将文件夹下文件剪切到另外一个文件_手把手教你运行第一个 Java 程序,看不懂你来骂我!...

    码字不易,对你有帮助 **点赞 /转发↪️/关注 ** 支持一下作者 微信搜公众号:不会编程的程序圆br/>看更多干货,获取第一时间更新 在运行第一个 java 程序之前,你需要先将 java ...

  8. 第2章 创建你的第一个 LISP 程序 Creating Your First Lisp Progr

    2019独角兽企业重金招聘Python工程师标准>>> 第2章 创建你的第一个 LISP 程序 Creating Your First Lisp Program 翻译者:FreeBl ...

  9. 在IntelliJ IDEA中创建和运行java/scala/spark程序

    本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介 ...

最新文章

  1. python数据分析方法五种_加速Python数据分析的10个简单技巧(上)
  2. 树莓派命令连接wifi_树莓派连接无线网wifi配置方法
  3. python如何在没有环境的电脑上执行_没安装python的电脑可以运行python写的程序吗 python语言编写的程...
  4. python画图小猪佩奇_用Python代码画小猪佩奇 Python简直太神奇了
  5. Dev-C++下载与安装教程
  6. vue在线预览word踩坑日记
  7. JAVA/JSP B2C系统介绍
  8. Dropbox使用问题
  9. 刘夏真的简历中国科学院计算机所,刘夏_广西医科大学研究生导师信息
  10. WM_ERASEBKGND消息及位图背景与透明的实现
  11. 期货量化策略的分类与概述(完整录播版)
  12. 开发会自测为什么测试还会单独存在?软件测试八大误区
  13. 整数平方和立方对照表
  14. speedoffice(Word)里面怎么才能输入平方
  15. 程序员需要学习英语吗?
  16. Cascaded Shadow Map(CSM)中的一些问题
  17. 学了python可以做什么兼职,学python真的能做兼职吗?
  18. 前端菜鸟模仿新浪导航
  19. 组合数C(m,n)的四种求法
  20. HTML常用标签及跳转

热门文章

  1. 利用python爬取猫眼电影榜单TOP100
  2. 神经网络结构如何确定,神经网络的神经元结构
  3. 用 Python 帮财务小妹解决 PDF 拆分,小妹说太棒了。。。
  4. MATLAB-逻辑运算
  5. 删除多余迅雷7插件,加快启动速度
  6. 遥感原理与应用:常用波段及其特性、太阳辐射衰减原因、大气窗口及其分布是什么?
  7. Altium Designer 10 ( PCB)生成logo图案
  8. 那些应该时刻牢记的事
  9. Thread是一根琴弦
  10. CSDN代码和积分获取方式