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

Qt —— 创建 hello world

文章目录

  • 1. 图形化方式
  • 2. 纯代码方式

1. 图形化方式

通过图形化方式 在界面上创建出一个控件 显示 hello world


点击 widget.ui 并打开 调用 Qt designer 这个图形化工具 完成窗口界面的编辑


在左侧 Display Wigets 中 找到 label 控件 并将其拖拽到右侧界面上


可以通过 拖动边框 来放大 label


通过双击 可以进行 编辑的状态 然后输入 Hello World
就可以显示出 Hello World 了


此时就存在了一个 label 控件
Qt designer 的右上角 通过树形结构 显示出了当前界面上都有那些控件


此时在 widget.ui中 就会 多出一句 Hello World


在界面上拖拽 一个 QLabel 控件 ui文件的xml中就会多出来这一段代码
进一步 的 qmake 就会编译项目的时候 基于这个内容 生成一段C++代码
通过C++代码构建出界面内容


2. 纯代码方式

点击 widget.cpp 并打开


其中包含 一个 Widget 的构造函数
一般通过代码来构造界面的时候 通常会把构造界面的代码 放到 Widget 的构造函数中

Qt中 每个类都有一个对应同名的头文件 所以在 widget.cpp 中 使用 #include < QLabel >

label 表示 界面上一个用来显示内容的字符串统计


使用C++中的new 去创建一个 Qlabel类的对象
并在构造函数中添加参数 this 即 给当前的label对象 指定一个 父对象
在Qt中存在 对象数的概念 本质为 一个 n叉树 即有n个子节点 并且只有一个父节点
所以当指定父对象时 就知道在树的那个位置


this 指向的是 当前构造函数所对应的对象 即 main.cpp 中的 widget对象

创建的 label 对象 父元素 为 widget 对象


调用 label对象中的 setText 函数 表示 设置控件中 要显示的文本是啥
其中参数为 Qstring

Qt 为了让自己的开发能够更顺畅 就自己发明了一套轮子
搞了一系列的基础类 来支持 Qt的开发
包括但不限于 字符串 QString 动态数组 QVector 链表 QList


在Qstring 中提供 C 风格字符串作为参数的构造函数
不显式构造 QString 上述代码中 C风格字符串也会隐式构造 Qstring对象

QString对应的头文件 已经被很多 Qt内置的其他类间接包含了 因此一般不需要显式包含QString头文件


此时就显示出了 hello world

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • STM32标准库学习笔记-4.定时器中断
  • 前端css动画transform多个属性值写法
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • 象棋布局笔记
  • 四天倒计时,SETTA会议你准备好了吗?
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • STM32标准库学习笔记-9.DMA 直接存储器存取
  • MySQL数据库——表的CURD(Update)
  • Ubuntu 基础使用
  • Nginx--代理与负载均衡(扩展nginx配置7层协议及4层协议方法、会话保持)
  • Global Structure-from-Motion Revisited golmap论文翻译
  • 搭建内网开发环境(五)|基于nexus搭建npm私服
  • IPage类与Page类区别和作用讲解
  • 【vim 学习系列文章 15.2 -- vim vimgrep 使用详细介绍】
  • WebRTC音视频开发读书笔记(六)
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Apache的基本使用
  • CEF与代理
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • leetcode388. Longest Absolute File Path
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Terraform入门 - 3. 变更基础设施
  • windows-nginx-https-本地配置
  • 分享一份非常强势的Android面试题
  • 记录一下第一次使用npm
  • 聚簇索引和非聚簇索引
  • 普通函数和构造函数的区别
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 硬币翻转问题,区间操作
  • 用简单代码看卷积组块发展
  • MPAndroidChart 教程:Y轴 YAxis
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​水经微图Web1.5.0版即将上线
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • # Panda3d 碰撞检测系统介绍
  • # Redis 入门到精通(一)数据类型(4)
  • #java学习笔记(面向对象)----(未完结)
  • #QT 笔记一
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (rabbitmq的高级特性)消息可靠性
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (利用IDEA+Maven)定制属于自己的jar包
  • (论文阅读30/100)Convolutional Pose Machines
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (状压dp)uva 10817 Headmaster's Headache
  • *2 echo、printf、mkdir命令的应用
  • .bashrc在哪里,alias妙用
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .chm格式文件如何阅读