Qt的基本操作

这篇具有很好参考价值的文章主要介绍了Qt的基本操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Qt的基本操作,Qt,qt

1. Qt Hello World 程序

Qt的基本操作,Qt,qt

1.1 通过图形化界面的方式

我们先讲解第一种方式,用图形化界面的方式,我们先打开widget.ui进入Qt designer:
Qt的基本操作,Qt,qt
进入之后,我们可以拖拽Label这个控件:
Qt的基本操作,Qt,qt
然后我们可以拉伸这个控件,敲出我们的hello world
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt

Qt的基本操作,Qt,qt
然后在我们的widget.ui中就有我们的Label标签:
Qt的基本操作,Qt,qt
此时在setupUi里就有了lable的相关设置:
Qt的基本操作,Qt,qt

1.2 通过代码的方式实现

我们先打开widget.cpp:
Qt的基本操作,Qt,qt
那么我们需要在这里面去构建我们的Label:
Qt的基本操作,Qt,qt
可以看到出现了错误,因为Qt中每个类都有对应的同名头文件。我们需要包含头文件:
Qt的基本操作,Qt,qt
创建对象的时候,我们可以在堆上创建,也可以直接在栈上创建。但是建议在堆上创建更好
Qt的基本操作,Qt,qt
给当前的对象指定一个父对象,让这个对象知道自己在哪。
Qt的基本操作,Qt,qt
这里的QString是什么呢
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
上述代码,在Qt中不会产生内存泄漏,label对象会在合适的时候自动被析构释放。之所以能把对象释放掉,主要是因为把这个对象挂到了对象树上。对象树主要是一个N叉树,把界面上的各种元素组织起来了。
Qt的基本操作,Qt,qt
假设我们要布局一个这样的界面,那么它的对象树如下:
Qt的基本操作,Qt,qt
使用对象树,把这些内容组织起来,最主要的目的,就是为了能够在合适的时机(窗口关闭/销毁),把这些对象统一进行释放
Qt的基本操作,Qt,qt
所以,我们更加建议通过new的方式创建对象,也就是把这个对象的生命周期交给Qt的对象树来统一管理。如果这个对象是在栈上创建,就可能会存在一些"提前释放"的问题

2. Qt 的编码问题

Qt的基本操作,Qt,qt
可以看到,当析构打印的时候,它是乱码的。
在计算机中,一个汉字,占几个字节?
对于这个问题,只要你回答出一个具体的数字,就一定是错的。因为中文编码有很多种。计算机存的是二进制数字,英文字母可以用一个ASCII码表来表示:规定了每个字符,都有一个对应的数字来表示。
那么中文我们也是采用了一个大表格,给每个汉字,分配一个整数。

字符集:表示汉字的字符集,其实有很多种的。不同的字符集,表示同一个汉字,使用的数字不相同
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
可以看到这个文件采用的是UTF-8来进行编码的。
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
现在就可以正常打印了。
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt

3. 使用输入框实现hello world

Qt的基本操作,Qt,qt
因为只打印hello world所以,使用单行编辑器就行。
Qt的基本操作,Qt,qt
我们把这个控件拖拽就可以编辑了。
Qt的基本操作,Qt,qt
右边可以修改这个编辑框的属性。
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt

代码的方式:
Qt的基本操作,Qt,qt

4. 使用按钮实现hello world

Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
但是这里点击没有反应,需要和信号槽机制相关。
Qt的基本操作,Qt,qt
在Qt中,需要使用一个叫做connect函数:
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
比如在上面的widget.ui中,有一个属性:
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
下面进行一个演示:
Qt的基本操作,Qt,qt
这样的代码就可以进行按钮的切换。
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
代码方法:
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt

5. Qt 编程注意事项

Qt 偏好驼峰命名法:
Qt的基本操作,Qt,qt
举个例子:
Qt的基本操作,Qt,qt
Qt Creator 中的快捷键:
Qt的基本操作,Qt,qt

6. 查询文档的方式

打开帮助⽂档有三种⽅式:
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
3、找到 Qt Creator 的安装路径,找到 assistant.exe,双击打开;

Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt

7. 认识Qt坐标系

Qt的基本操作,Qt,qt
在计算机中的坐标系,X向右增加,Y向下增加。
Qt的基本操作,Qt,qt
举个例子:
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
这里坐标的单位是像素。
Qt的基本操作,Qt,qt
Qt的基本操作,Qt,qt
这里我们也可以设置窗口的位置。文章来源地址https://www.toymoban.com/news/detail-827426.html

到了这里,关于Qt的基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • OpenCV基本操作——算数操作

    OpenCV基本操作——算数操作

    两个图像应该具有相同的大小和类型,或者第二个图像可以是标量值 注意:OpenCV加法和Numpy加法之间存在差异。OpenCV的加法是饱和操作,而Numpy添加的是模运算 ((414, 500, 3), (429, 499, 3)) (429, 499, 3) 其实也是加法,只是权重不同

    2024年02月13日
    浏览(15)
  • Elasticsearch基本操作之文档操作

    Elasticsearch基本操作之文档操作

    本文来说下Elasticsearch基本操作之文档操作 文档概述 在创建好索引的基础上来创建文档,并添加数据。 这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为 JSON 格式。 在 apifox 中,向 ES 服务器发 POST 请求 :http://localhost:9200/person/_doc,请求体内容为: 服务器响

    2024年02月01日
    浏览(12)
  • OpenCV基本操作——图像的基础操作

    OpenCV基本操作——图像的基础操作

    注:opencv图像坐标系中,左上角是原点,y轴向下,x轴向右,单位像素点 有时需要在B,G,R通道图像上单独工作。在这种情况下,需要将BGR图像分割成单个通道。或者在其他情况下,可能需要将这些单独的通道合并到BGR图像 opencv中有150多种颜色空间转换方法。最广泛使用的转

    2024年02月13日
    浏览(106)
  • Java操作mongodb的基本操作

    Java操作mongodb的基本操作

    目录 MongoDB的基本操作 新增 方式一: 方式二: 删除:  带条件的删除 修改 修改条件 修改并添加  多条件修改: 查询 普通查询 条件查询 ​编辑 多条件查询 模糊查询: 查询除来的结果有两种的显示方式: MongoDB中的文档本质上是一种类似JSON的BSON格式的数据。 BSON是一种类

    2023年04月09日
    浏览(15)
  • GIT —— 基本操作,分支管理,远程操作

    最近找实习,在完善简历,遂发一发存货,有待持续完善,我认为这部分非常的有意义 创建 配置 将配置生效于 当前机器的 所有仓库 删除配置/删除全局配置 .git :版本库,不允许手欠做任何修改! stage/ 或 index/ :暂存区,索引 gitcode/ : 工作区 修改的工作区内容会写入**对

    2024年02月11日
    浏览(13)
  • java 操作es 的基本操作

    创建索引 创建索引别名 索引的相关设置 查询索引数据 bulk 导入数据 持续更新中~ pom的坐标

    2024年01月20日
    浏览(9)
  • 【Docker】2、Docker 基本操作【镜像操作】

    【Docker】2、Docker 基本操作【镜像操作】

    🔋 镜像名称一般由两部分组成: [repository]:[tag] 🔋 若没有指定 tag ,默认是 latest (最新版本的镜像) 更多命令: docker --help 从 DockerHub 拉取 nginx 镜像 🔋① 访问 DockerHub 官网【https://hub.docker.com/】 🔋② 搜索 nginx 🔋③ 执行拉取镜像的命令 🔋④ 查看所有镜像 ✏️ ① 把

    2024年02月06日
    浏览(14)
  • 【玩转Linux操作】crond的基本操作

    【玩转Linux操作】crond的基本操作

    🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 crond 是 Linux 系统中的一个守护进程(daemon),用于管理和执行定时任务。它负责在预定的时间间隔内运行用户定义的命令、脚本或

    2024年02月12日
    浏览(17)
  • hyperledger fabric 网络操作基本操作和概念

    hyperledger fabric 网络操作基本操作和概念

    在搭建好hyperledger fabric环境后,继续进行网络搭建操作 新建文件夹twonodes(与github.com同级) 1.1.1 生成证书文件模板 生成模板配置文件说明 1.1.1.1 排序节点OrdererOrgs配置 1.1.1.2 普通节点PeerOrgs配置 1.1.1.3 Template 配置 1.1.1.4 Users用户配置 (user和peer区别,user可以理解为终端,指人

    2024年01月17日
    浏览(17)
  • MYSQL数据库基本操作-DQL-基本查询

    MYSQL数据库基本操作-DQL-基本查询

    一.概念 数据库管理系统一个重要功能就是数据查询。数据查询不应是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。 MySQL提供了功能强大,灵活的语句来实现这些操作。 MySQL数据库使用select语句来查询数据。 二:语法  

    2024年01月25日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包