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

QT基础与细节理解

前言

本博客旨在记录QT学习过程中的一些细节知识理解,由于问题的产生并非成体系,所以前期的记录可能会无序一些。烦请读者参阅目录进行快速的问题定位与跳转

QT基础与细节理解

    • 前言
    • 正文部分
      • QT基础1:正确理解: QWidget(parent), ui(new Ui::ui_mywidget)

正文部分

QT基础1:正确理解: QWidget(parent), ui(new Ui::ui_mywidget)

先摘抄一个定义完备的基本窗口项目,项目的结构如下:

- mywidget.pro --- qmake项目管理文件
- mywidget.h --- 基本窗口头文件
- mywidget.cpp --- 基本窗口类文件
- main.cpp --- 主类文件
- mywidget.ui --- 基本窗口样式文件

其中,mywidget.cpp中有参构造函数的写法引起我的注意:

MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::ui_mywidget)

经过查阅资料,得知这是C++的一种参数初始化方式—参数初始化表,在正式进入构造函数前,会依次执行冒号后的初始化内容:

  • QWidget(parent) — 表征派生类MyWidget调用基类QWidget的有参构造方法QWidget(QWidget *parent),用于将由派生类初始化的对象注册为parent的子窗口(如果parent非空)
  • ui(new Ui::ui_mywidget) — 等价于Ui::ui_mywidget *ui = new Ui::ui_mywidget(也可以使用后者的写法,因为此参数的初始化不强调顺序),即完成指针变量ui的初始化工作

通过上述解析,我们可以清晰地认识到以下两个问题:

  • 冒号后的内容是C++的参数初始化表
  • 其有直接进行的函数调用,也有表征赋值的右值引用

相关文章:

  • 开机自启动笔记本的小键盘
  • 【Spring之底层核心架构概念解析】
  • Docker快速安装kafka
  • EM@解三角形@正弦定理@余弦定理
  • 云效流水线docker部署 :node.js镜像部署VUE项目
  • 大数据毕业设计选题推荐-农作物观测站综合监控平台-Hadoop-Spark-Hive
  • Swift编写爬取商品详情页面的爬虫程序
  • MATLAB算法实战应用案例精讲-【目标检测】机器人抓取
  • MATLAB算法实战应用案例精讲-【目标检测】机器视觉-工业相机参数
  • .NET关于 跳过SSL中遇到的问题
  • LeetCode 137. 只出现一次的数字 II 中等
  • 【蓝桥杯选拔赛真题17】C++时间换算 第十二届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
  • USB偏好设置-Android13
  • 使用Go语言抓取酒店价格数据的技术实现
  • 人工智能模型转ONNX 连接摄像头使用ONNX格式的模型进行推理
  • hexo+github搭建个人博客
  • [LeetCode] Wiggle Sort
  • Android Studio:GIT提交项目到远程仓库
  • Angular4 模板式表单用法以及验证
  • CentOS从零开始部署Nodejs项目
  • Fabric架构演变之路
  • Java 多线程编程之:notify 和 wait 用法
  • JAVA_NIO系列——Channel和Buffer详解
  • js ES6 求数组的交集,并集,还有差集
  • k8s如何管理Pod
  • Promise面试题2实现异步串行执行
  • 聊聊flink的TableFactory
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端之React实战:创建跨平台的项目架构
  • 深度学习中的信息论知识详解
  • 深入 Nginx 之配置篇
  • 使用Swoole加速Laravel(正式环境中)
  • 试着探索高并发下的系统架构面貌
  • 手写双向链表LinkedList的几个常用功能
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 1.Ext JS 建立web开发工程
  • const的用法,特别是用在函数前面与后面的区别
  • FaaS 的简单实践
  • Hibernate主键生成策略及选择
  • 数据库巡检项
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #define
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • ()、[]、{}、(())、[[]]命令替换
  • (LeetCode) T14. Longest Common Prefix
  • (八)Spring源码解析:Spring MVC
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (六)c52学习之旅-独立按键
  • (论文阅读11/100)Fast R-CNN
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .NET Core 项目指定SDK版本