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

qt初识--01

文章目录

  • qt初始--01
    • 环境配置
    • 创建项目
    • 项目代码解释
    • 创建hello world
      • 图形化方式
      • 代码方式
    • 结语

很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!!
在这里插入图片描述
今天我们进一步c++11中常见的新增表达
作者:٩( ‘ω’ )و260
我的专栏:qt,Linux,C++进阶,C++初阶,数据结构初阶,题海探骊,c语言
欢迎点赞,关注!!

qt初始–01

qt主要是来处理前端开发,主要是客户端开发,即直接于用户交互的层面,qt主要涉及gui(Graphical User Interface)(图形用户界面)的制造和开发,话不多说,直接实操

环境配置

官网:下载链接
因为qt是国外大佬搞出来的,所以下载速度慢的话才是正常的。如果想要提高下载速度的话,不得不fq,首先声明:fq在我国属于违法行为,不要发表不当言论!!

在这里插入图片描述
作者使用的是这个版本,尽量不要使用4开头的版本。
在这里插入图片描述
找到这个exe的,这个才是我们需要下载的。
下载好后,根据提示进行安装,首先会提示注册一个qt账号,可以断网,避免注册,注册也行。
其次:路径不能有中文路径,否则构建时会出问题。
安装的组件必须要选MinG7.3.0.64bit
在这里插入图片描述
剩下的按照顺序继续去下载即可。

需要配置环境变量
在这里插入图片描述
点击编辑系统环境变量。
在这里插入图片描述
随后将D:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin这个路径配置到系统中的Path中:
因为这个路径中包含了许多exe文件和动态库,最终添加的路径还是要根据自己的安装情况而定。

创建项目

左上角文件->新建文件或项目->按照下图选择->选择路径(不要有中文)->define build system需要选择qmake->class information需要选择qwidget->Translation file直接跳过不用管->kit Selection选择MinG的编译器- >最后创建完成
在这里插入图片描述

项目代码解释

创建完成,这个项目中,就会存在这些代码~~
在这里插入图片描述
先来看main.cpp
在这里插入图片描述
再来看qwidget.h文件
在这里插入图片描述
再来看qwidget.cpp:
在这里插入图片描述
最后来看Widget.ui文件:
在这里插入图片描述
Widget这种书写代码格式为xml,与这种方式类似的为html,本质上都是通过标签的形式书写代码
分为单标签,开始标签,结束标签。
这里的标签是什么含义不需要知晓,在xml中,标签的含义没有准确的规定,你想怎么定义就怎么定义,这里的含义就是当初qt大佬们设计qt creator的含义。
但是在html中,标签有明确的含义。

创建hello world

图形化方式

通过图形化的方式,就是使用qt designer的方式。
双击qWidget.ui就会跳转到该界面:
我们选择一种简单的方式,使用Display Widget中的label
在这里插入图片描述
拖动label,随后再编辑这个label,其中的字符串就能在图形化界面中显示。
在这里插入图片描述
这个时候我们再来看自己的代码中,我们能够发现widget的部分被修改了。

代码方式

接下来我们来介绍代码方式来创建文本。
在这里插入图片描述

细节1:为什么我们更推荐在堆上创建llabel的方式?
因为如果在堆上创建的话,生命周期不随栈的销毁而销毁,但是如果在栈上,就会随着函数结束完毕,栈帧销毁,其中的对象也销毁。

思考一下:如果一个面板上一系列按钮,此时这个面板还在,但是由于对象在栈上,对象销毁了,这个按钮就没有了。但是这个面板还在。

细节2:为什么这里传递了this指针?
因为我需要将这个this对象给挂到对象树上去,当在合适的时机时,对象树销毁,其中绑定的对象也就销毁了。即,我们将对象的生命周期绑定到和对象树上了。那么什么时候是合适的时机呢?当这个面板关闭的时候

结语

感谢大家阅读我的文章,不足之处欢迎留言之处,感谢大家支持!!
千磨万击还坚韧,任尔东西南北风!!
在这里插入图片描述

相关文章:

  • 【C++特殊工具与技术】优化内存分配(五):显式析构函数的调用
  • 不装 ROS 也能用 PyKDL!使用kdl_parser解析URDF并进行IK
  • AI支持下的-ArcGIS数据处理、空间分析、可视化及多案例综合应用
  • MS5110模数转换器可pin to pin兼容ADS1110
  • UniApp组件封装,2025年最新HarmonyOS鸿蒙模块化开发项目式教程
  • Bash 脚本中的特殊变量
  • 直接使用阿里云OSS的地址,报跨域访问的问题怎么解决
  • 小米玄戒O1架构深度解析(二):多核任务调度策略详解
  • 电路图识图基础知识-变频器控制电动机系统解析(二十四)
  • 6.11打卡
  • 湖北理元理律师事务所企业债务优化路径:司法重整中的再生之道
  • 低代码平台的版本管理深度解析
  • python训练营打卡第50天
  • 从源码角度了解Lucene(倒排索引存储结构)
  • 江苏艾立泰以技术创新破解全球环保合规难题 打开出口企业绿色转型大门
  • leetcode 768. 最多能完成排序的块 II
  • JavaScript解密里的ChaCha20 加密算法全解
  • 从原理到代码:深度解析YOLOv8的QualityFocalLoss改进方案
  • C++显性契约与隐性规则:类型转换
  • 网络层 IP协议(第一部分)
  • 专业做冻货的网站/企业营销型网站建设
  • 必要网站用什么做的/深圳网络优化公司
  • 办公室装修大概多少钱一平方/aso优化app推广
  • 企业网站制作一/长沙有实力seo优化
  • 河北seo网站优化价格/关键词查询的五种常用工具
  • 省级政府网站集约化建设/百度指数行业排行