当前位置: 首页 > news >正文

斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)

斗破Qt目录:

斗破Qt编程入门系列之前言:认识Qt:Qt的获取与安装(四星斗师)
斗破QT编程入门系列之一:认识Qt:初步使用(四星斗师)
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)

参考书籍

《Qt5.9 C++开发指南》

斗破观看顺序:

https://v.haohuitao.cc/yhplay/336-1-2.html
第一季☞第二季前2集☞特别篇1☞第二季3~12集☞特别篇2沙之澜歌☞第三季☞第四季☞三年之约☞缘起☞年番
斗气大陆等级:
斗气有十一个阶别,斗之气,斗者,斗师,大斗师,斗灵,斗王,斗皇,斗宗,斗尊,斗圣,斗帝。
斗气大陆上很久没有出现过斗帝了。

一、七幻青灵涎

萧炎和海波东前往米特尔拍卖场总部,寻找可以唤醒药老的奇物,碰巧与三年未见的好友雅妃相遇,萧炎从雅妃口中得知,在此处无法找到唤醒药老的奇物后非常沮丧,在帮助雅妃出头解决其在族中的麻烦准备离开之时,戏剧性的一幕上演了,纳兰嫣然竟上门拜访。
原来纳兰嫣然的爷爷被烙铁毒印蟒咬伤,至今无法有效医治,所以前来米特尔拍卖行找雅妃相助,希望找到一位拥有异火的炼药师能够帮助爷爷祛除毒素。酬劳丰厚,包括可以恢复灵魂力量的七幻青灵涎。
萧炎为了唤醒药老,虽然心中愤恨,但是仍然决定去纳兰家进行这笔交易。不料途中遇到了神秘人,神秘人虽然声称要杀了萧炎,其实是在试探萧炎这三年的成长,果然萧炎没有让他失望,这个神秘人正是熏儿的护卫凌影。
萧炎能否拿到七幻青灵涎,请听下回分解。

二、认识Qt:编写一个HelloWorld程序(四星斗师)

单击Qt Creator的菜单项“File”->“New FIle or Project”,出现如下图的对话框。在这个对话框里选择需要创建的项目或文件的模版。
在这里插入图片描述
Qt Creator可以创建多种项目,在最左侧的列表框中单击“Application”,中间的列表框中列出了可以创建的应用程序的模版,各类应用程序如下。

  • Qt Widget Application,支持桌面平台的有图形用户界面(GUI)的应用程序,GUI的设计完全基于C++语言,采用Qt提供的一套C++类库。
  • Qt Console Application,控制台应用程序,无GUI界面,一般用于学习C/C++语言,只需要简单的输入输出操作时可创建此类项目。
  • Qt Quick Application,创建可部署的Qt Quick 2应用程序。Qt Quick是Qt支持的一套GUI开发架构,其界面设计采用QML语言,程序架构采用C++语言。利用Qt Quick可以设计非常炫酷的用户界面,一般用于移动设备或嵌入式设备上无边框的应用程序的设计。

在对话框中选择项目类型为Qt Widgets Application后,单击“Choose…”按钮,出现如下的新建项目向导。
在这里插入图片描述

选择自己的程序目录,再设置项目名称,这样在新建项目后,项目所有文件会保存在该目录下(E:\Qt-program)
在设置好项目名称和保存路径后,单击“Next”按钮,出现如下所示的选择编译工具的界面:
在这里插入图片描述
可以将所有编译工具都选中,在编译项目时再选择一个作为当前使用的编译工具,这样可以编译生成不同版本的可执行程序。
继续单击“Next”按钮,出现如下的界面,
在这里插入图片描述
此界面中选择需要创建界面的基类。有3种基类可以选择:

  • QMainWindow是主窗口类,主窗口具有主菜单栏、工具栏和状态栏,类似于一般的应用程序的主窗口:
  • QWidget是所有具有可视界面类的基类,选择QWidget创建的界面对各种界面组件都可以支持:
  • QDialog是对话框类,可建立一个基于对话框的界面。

在此选择QMainWindow作为基类,自动更改的各个文件名不用手动去修改。勾选“Generate form”复选框。这个选项如果勾选,就会由Qt Creator创建用户界面(UI)文件,否则,需要自己编写手工创建界面。初始学习,为了了解Qt Creator的设计功能,勾选此选项。然后单击“Next”按钮,出现一个页面,总结了需要创建的文件和文件保存目录,单击“Finish”按钮就可以完成项目的创建。
接下来我们看看项目的文件组成和管理,完成了以上新建项目的步骤后,在Qt Creator的左侧工具栏中单击“Edit”按钮,可显示如下的窗口:
在这里插入图片描述
窗口左侧有上下两个子窗口,上方的目录树显示了项目内文件的组织结构,显示当前项目的名称,项目的名称都成目录树的一个跟节点,Qt Creator可以打开多个项目,但是只有一个活动项目(Active Project),活动项目的项目名称节点用粗体字体表示。
在项目名称节点下面,分组管理项目内的各种源文件,几个文件及分组为以下几项。

  • untitle4.pro是项目管理文件,包括一些对项目的设置项。
  • Headers分组,该节点下是项目内的所有头文件(.h)
  • Sources分组:该节点下是项目内所有C++源文件(.cpp)如mainwindows.cpp。
  • Form分组:该节点下是项目内的所有界面文件(.ui)。界面文件是文本文件,使用XML语言描述界面的组成。

左侧上下两个字窗口的显示内容可以通过其上方的一个下拉列表框进行选择,可以选择的显示内容包括Projects、Open Documents、Bookmarks、File System、Class View、Outline等。上方的字窗口显示了项目的文件目录树,下方显示打开的文件列表。可以在下方选择显示Class View,这样下方则显示项目内所有的类的结构,便于程序浏览和快速切换到需要的代码位置。
双击文件目录树中的文件mainwindow.ui,出现如下图的设计页面:
在这里插入图片描述
这个界面实际上时Qt Creator中集成的Qt Designer。窗口左侧石分组的组件面板,中间是设计的窗体。在组件面板的DIsplay Widgets分组里,将一个Label组件拖放到设计的窗体上面。双击刚刚放置的Label组件,可以编辑其文字内容,将文字内容更改为“Hello,World!”。还可以在窗口右下方的属性编辑器里编辑标签的Font属性,Point Size更改为12,勾选Bold。
最后就是项目的编译、调试与运行,单击主窗口左侧工具栏上的“Projects”按钮,出现如下所示的项目编译设置界面。
在这里插入图片描述
界面左侧一栏的“Build & Run”下面显示了本项目中可用的编译器工具,要使用哪一个编译器用于项目编译,单击其名称即可,选择的编译器名称会用粗体字表示。
每个编译器又有Build和Run两个设置界面。在Build设置页面上,有一个“Shadow build”复选框。如果勾选此项,编译后将在项目的同级目录下建立一个编译后的文件目录,目录名称包含编译器信息,这种方式一般用于使用不同编译器创建不同版本的可执行文件。如果不勾选此项,编译后将在项目的目录下建立“Debug”和“Release”子目录用于存放编译后的文件。

最后就是项目的编译与运行了,有几个小图标,解释如下表格

在这里插入图片描述
首先对项目进行编译,没有错误后,再运行程序。

在这里插入图片描述

Dehug的含义是可以让我们手动的一行一行的运行代码,可以方便我们查看每一步运行程序的变量变化情况。

三、英语

先来看几个单词:

  • World 世界
  • Debug 调试
  • Release 发布

再来看几个句子:

  • Although the mysterious(神秘的) person claimed(声称) to kill Xiao Yan, he was actually(实际上) testing Xiao Yan’s growth over the past three years
  • 神秘人虽然声称要杀了萧炎,其实是在试探萧炎这三年的成长

“神秘的”英文是mysterious
“声称”英文是claim,claim后接to,简单点可以用say
“其实”在英语中可以使用actually
“过去的…时间”在英语的表达是over the past + 时间

相关文章:

斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)

斗破Qt目录: 斗破Qt编程入门系列之前言:认识Qt:Qt的获取与安装(四星斗师) 斗破QT编程入门系列之一:认识Qt:初步使用(四星斗师) 斗破QT编程入门系列之二:认识…...

木马病毒相关知识

1、 木马的定义 相当于一个远控程序(一个控制端[hack]、一个被控端[受害端]) 在计算机系统中,“特洛伊木马”指系统中被植入的、人为设计的程序,目的包括通过网终远程控制其他用户的计算机系统,窃取信息资料&#xff0…...

用 Python 写了一个天天酷跑(附源码)

Hello,大家好,给大家说一下,我要开始装逼了 这期写个天天酷跑玩一下叭! 制作一个完整的“天天酷跑”游戏涉及很多方面,包括图形渲染、物理引擎、用户输入处理、游戏逻辑等。由于Python是一种高级编程语言,…...

【网络-交换机】生成树协议、环路检测

路由优先级 路由优先级决定了在多种可达的路由类型中,哪种路由将被用来转发数据包。路由优先级值越低,对应路由的优先级越高,优先级值255表示对应的路由不可达。一般情况下,静态路由的优先级为1,OSPF路由优先级为110&a…...

C++ 中的 JSON 序列化和反序列化:结构体与枚举类型的处理

在 C 编程中,处理 JSON 数据是一项常见任务,特别是在需要与其他系统或前端进行数据交换时。nlohmann::json 库是一个功能强大且易于使用的 JSON 库,它允许我们轻松地在 C 中进行 JSON 数据的序列化和反序列化。本文将详细介绍如何使用 nlohma…...

MySQL 批量删除海量数据的几种方法

目录 一、问题分析 二、批量删除海量数据的几种方法 方法 1:使用 LIMIT 分批删除 方法 2:通过主键范围分批删除 方法 3:通过自定义批量删除存储过程 方法 4:创建临时表替换旧表 三、性能优化建议 总结 在数据库的日常维护…...

【docker入门】docker的安装

目录 Centos 7 添加docker 官方仓库到yum源 将 Docker 的官方镜像源替换为国内可以的 Docker 镜像源 安装docker 配置docker加速源 Ubuntu 创建 gpg key 目录 下载 gpg key 添加国内可用镜像源到 系统的 APT 仓库中 安装docker 配置加速源 Centos 7 添加docker 官方仓…...

单例模式五种写法

饿汉式(线程安全) public class Singleton {// 直接创建实例,在类加载时就完成实例化private static final Singleton instance new Singleton();// 私有构造函数private Singleton() {}// 提供公共的静态方法获取实例public static Single…...

解析静态链接

文章目录 静态链接空间与地址分配相似段合并虚拟地址分配符号地址确定 符号解析与重定位链接器优化重复代码消除函数链接级别 静态库静态链接优缺点 静态链接 一组目标文件经过链接器链接后形成的文件即可执行文件,如果没有动态库的加入,那么这个可执行…...

前端基础-html-注册界面

&#xff08;200粉啦&#xff0c;感谢大家的关注~ 一起加油吧~&#xff09; 浅浅分享下作业&#xff0c;大佬轻喷~ 网页最终效果&#xff1a; 详细代码&#xff1a; ​ <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"…...

量子电路的实现 基于ibm的qiskit

量子计算的物理实现 量子计算的实现有几种方式&#xff0c;最常用的就是超导量子计算机&#xff0c;它的量子处理器是用超导传输量子比特构建的&#xff0c;它是由一个约瑟夫森结和一个并联的电容器组成的电路。约瑟夫森结是一种非线性电感&#xff0c;由两层重叠的超导…...

关于谷歌浏览器debug模式不进断点问题解决方案

第一步.浏览器F12弹出调试者模式 第二步.点击设置齿轮&#xff0c;找到Ignore List,将node_model取消勾选&#xff0c;关闭浏览器&#xff0c;重新打开就进断点了...

制造行业实践|悠进电装基于超融合完成信息化改造, 保障业务系统 7/24 长跑

当一辆汽车在路上奔驰时&#xff0c;确保车内各种电气信号正常传递和电力供给的关键是什么&#xff1f;正是那不起眼却功不可没的汽车线束。这些精密编织的电线网络&#xff0c;犹如汽车的“神经网络”和“动脉血管”&#xff0c;在传递电气信号、数据的同时&#xff0c;源源不…...

如何学习C++游戏开发

学习C游戏开发是一个涉及多个领域的复杂过程&#xff0c;包括编程、游戏设计、图形学等。 1. **学习C基础**&#xff1a; - 掌握C的基本语法和面向对象编程。 - 学习C标准库&#xff0c;特别是STL&#xff08;标准模板库&#xff09;。 2. **理解游戏开发概念**&#xf…...

计算网络信号

题目描述&#xff1a; 网络信号经过传递会逐层衰减&#xff0c;且遇到阻隔物无法直接穿透&#xff0c;在此情况下需要计算某个位置的网络信号值。注意&#xff1a;网络信号可以绕过阻隔物 array[m][n]的二维数组代表网格地图&#xff0c; array[i][j]0代表i行j列是空旷位置&…...

【Vue 全家桶】6、vue-router 路由(更新中)

目录 相关理解基本路由嵌套路由路由传参编程式路由导航 相关理解 基本路由 嵌套路由 路由传参 编程式路由导航...

解决程序因缺少xinput1_3.dll无法运行的有效方法,有效修复丢失xinput1_3.dll

如果你的电脑在运行某些应用程序或游戏时提示“xinput1_3.dll丢失”或“找不到xinput1_3.dll”的错误消息&#xff0c;那么很可能是因为你的系统中缺少这个重要的DLL文件而导致的问题。那么电脑出现xinput1_3.dll丢失的问题时有哪些方法进行修复呢&#xff1f; 如何确定电脑是否…...

uni-popup 弹出框

:maskClick"false" 是点击空白遮罩处不关闭弹窗 <uni-popup ref"popup" type"center" :maskClick"false"> <div style"width: 80vw;padding: 0.5em;box-sizing: border-box; background-color: #fff; border-…...

Android笔记:Android中Fragment改变主题

‌在Android中,Fragment使用主题可以通过以下几种方法实现‌: 1 在onCreateView方法中设置主题‌: 在onCreateView方法中,可以通过创建一个ContextThemeWrapper来改变Fragment的主题。例如: @Override public View onCreateView(LayoutInflater inflater, ViewGroup co…...

GEE 训练——利用sentinel-2数据计算两栖NDVI前后差异

目录 简介 函数 expression(expression, map) Arguments: Returns: Image 代码 结果 简介 利用sentinel-2数据计算两栖NDVI前后差异 COPERNICUS/S2是欧洲空间局(ESA)的地球观测计划,旨在通过卫星遥感技术提供全球的高分辨率地球观测数据。S2是COPERNICUS地球观测计…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...