QT入门基础知识

news2024/11/25 2:40:07

什么是QT

  • QT是一个跨平台的C++图像用户界面应用程序框架
  • QT在1991年由奇趣科技开发
  • QT的优点
    • 跨平台,几乎支持所有平台
    • 接口简单,容易上手
    • 一定程度上简化了内存回收机制
    • 有很好的社区氛围
    • 可以进行嵌入式开发

QWidget

QT注意事项

  • 命名规范

    • 类名 首字母大写,单词和单词之间首字母大写
    • 函数名 变量名称 首字母小写,单词和单词之间首字母大写
  • 快捷键

    • 注释 ctrl + /
    • 运行 ctrl + r
    • 编译 ctrl + b
    • 查找 ctrl + f
    • 帮助文档 F1
    • 自动对齐 ctrl + i
    • 同名的.h和.cpp切换 F4

按钮

  • 按钮常用API
  1. show() 以顶层方式弹出窗口控件
  2. setParent() 选择依赖方式
  3. setText() 设置文本
  4. resize() 重置窗口大小
  5. move() 移动
  6. setWindowTitle() 设置窗口大小
  7. setFixedSize() 设置固定窗口大小

QT中的对象树

  1. 当创建的对象在堆区的时候,如果指定的付钱是QObject 派生下来的类或者子类
  2. 派生下来的类,可以不需要管理释放操作,会将对象放入对象树 一定程度上简化了内存回收机制

QT的窗口坐标系

  1. 笛卡尔坐标系[左上角为0,0点]

QT信号和槽

  • connect( 信号的发送者 ,信号的具体信息, 信号的接受者,信号的处理[槽])
  • 信号槽的优点 松散耦合
    • 信号发送端 和 接收端本身是没有关联的,通过connectl连接,将两者耦合在一起
    • 信号关键字:Signals
      • chlicked(bool) 点击
      • pressed() 按下
      • released() 释放
      • toggled(bool) 切换状态
    • 槽的关键字:Slots
  • 自定义信号和槽位函数
    • 自定义信号
      • 写在类的signals下,返回值为void,可以有参数,支持重载,不需要实现
    • 自定义槽函数
      • 不能写在signals下,public slots[公共的槽函数] 5.4版本以后全局函数或者public都行
      • 返回值也是void,需要声明,也需要实现,可以有参数,支持重载
    • 然后用connect连接信号和槽
    • 触发信号 emit
    • 信号和槽重载,需要函数指针,明确指向函数的地址
    • QString 转char * 使用.toUtf8().data()
    • 信号和槽连接:触发这个信号才能触发槽
      • 一个信号可以连接多个槽
      • 多个信号也可以连接同一个槽函数
      • 信号和槽的参数和类型必须对应
      • 信号的参数个数可以多于槽的参数个数
    • 信号和信号连接 触发一个信号也能触发另外一个信号
    • 断开信号 disconnect(参数一样)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kakfa 常见错误(长期更新)

kafka版本 2.13-3.40 一、消费者相关1.1 消费组1.1.1 查看消费组命令找不到消费组 1.2 主题1.2.1 kafka默认主题_consumer_offsets 不小心删除 二、发布者相关三、Spring Boot连接相关3.1 消费者相关3.1.1 连接报错3.1.1.2 消费报错 一、消费者相关 1.1 消费组 1.1.1 查看消费…

vue中Cascader 级联选择器实现

<template> <div style"padding-left:20px;"> <!-- 添加或修改 --> <el-dialog :title"title" :visible.sync"open" width"500px" append-to-body> <el-form ref"form" :model"form"…

二分类结局变量Logistic回归临床模型预测—— 模型评价(二)

本节讲的是二分类结局变量的临床模型预测,与之前讲的Cox回归不同,https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/1240…

如何运行一个 SSM 项目以及解决 JDBC 连接数据库遇到的问题(已解决)

文章目录 &#x1f4cb;前言&#x1f3af;运行与配置&#x1f3af;报错与解决&#x1f9e9;问题分析&#x1f9e9;解决过程 &#x1f3af;知识点补充&#x1f9e9;关于 com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别 &#x1f4dd;最后 &#x1f4cb;前言 这篇文…

【严重】GeoServer 存在 sql 注入漏洞(POC已公开)

漏洞描述 GeoServer是一款开源地图服务器&#xff0c;主要用于发布、共享和处理各种地理空间数据。 在GeoServer 的受影响版本中由于未对用户传入的 CQL_FILTER参数进行安全校验&#xff0c;在以数据库作为数据存储时&#xff0c;攻击者可构造攻击语句&#xff0c;绕过GeoSer…

Maven(三):Maven的组成详解

文章目录 坐标和依赖坐标详解依赖配置依赖范围传递性依赖依赖调节可选依赖优化排除依赖归类依赖优化依赖 仓库本地仓库远程仓库仓库镜像常用搜索地址 生命周期与插件三套生命周期clean生命周期default生命周期site生命周期 插件 聚合与继承更加灵活的构建常见问题使用jdk来运行…

使用UglifyJS实现一条指令打包发布项目实例

在前端页面开发中&#xff0c;使用Vue、Angular、React等框架构建的项目通常都会自动配置集成相关代码压缩发布的工具&#xff0c;开发者只需要执行指定命令即可完成项目的整体压缩发布操作。对于没有使用框架的项目&#xff0c;需要开发者手动配置使用相关工具完成对应操作&am…

【OBS】SpringBoot + Vue + el-upload 通过临时 URL 上传文件到 OBS

华为云OBS的官方文档&#xff08;链接&#xff1a;https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0901.html#section1&#xff09;中关于上传文件的内容&#xff0c;只提供了使用JAVA获取临时上传链接&#xff0c;并使用JAVA创建请求上传纯文本的方法。想要把这部…

离线分析fsimage文件进行数据深度分析

以离线分析FsImage文件进行数据深度分析 整个方案的基本架构&#xff1a; FsImage文件时HDFS存放在NameNode中的镜像文件&#xff0c;里面包括了整个HDFS集群的目录和文件信息&#xff0c;(类似于一个索引目录部分数据的文件)&#xff0c;而且HDFS提供了命令可以将FsImage文件…

【严重】VMware Aria Operations for Networks 远程代码执行漏洞(存在POC)

漏洞描述 VMware Aria Operations for Networks (前名为vRealize Network Insight)是 VMware 公司提供的一款网络可视性和分析工具&#xff0c;用于优化网络性能或管理各种VMware和Kubernetes部署。 VMware Aria Operations for Networks 6.x版本中由于 createSupportBundle…

How to fix the global rice crisis 如何应对全球稻米危机 | 经济学人20230401版双语精翻

4月1日《经济学人》周报封面即社论区&#xff08;Leaders&#xff09;精选文章&#xff1a;《如何应对全球稻米危机》&#xff08;How to fix the global rice crisis&#xff09;。 “民以食为天”语出《孟子公孙丑上》&#xff0c;强调&#xff1a;人民的生命福祉和国家的繁荣…

每日一练 | 华为认证真题练习Day62

1、广播地址是网络地址中主机位全部置为1的一种特殊地址&#xff0c;它也可以做为主机地址使用。 A. True B. False 2、如图所示&#xff0c;如果管理员希望能够提升此网络的性能&#xff0c;则下面哪一种方法最合适&#xff1f; A. 使用交换机把每台主机连接起来&#xff0c…

java8 (jdk 1.8) 新特性——Stream ApI以及具体实例

在java8 中&#xff0c;有两个最重要的改变&#xff0c;一个就是之前了解的Lmbda java8 (jdk 1.8) 新特性——Lambda ,还有一个就是Stream Api 1. 什么是Stream API 简单来说就是一个类库&#xff0c;里边有一些方法方便我们对集合数据进行操作&#xff0c;就好像使用 SQL 语…

是单例模式,不是单身

✍&#x1f3fc;作者&#xff1a;周棋洛&#xff0c;计算机学生 ♉星座&#xff1a;金牛座 &#x1f3e0;主页&#xff1a;点击学习更多 &#x1f310;关键&#xff1a;JavaScript 单例 设计模式 单例模式的定义是&#xff1a;保证一个类仅有一个实例&#xff0c;并提供一个访问…

数据结构05:树与二叉树[C++][线索二叉树:先序、中序、后序]

图源&#xff1a;文心一言 考研笔记整理1.4W字&#xff0c;小白友好、代码先、中序可跑&#xff0c;后序代码有点问题仅作记录~~&#x1f95d;&#x1f95d; 第1版&#xff1a;查资料、写BUG、画导图、画配图~&#x1f9e9;&#x1f9e9; 参考用书&#xff1a;王道考研《2024…

领域事件解读

文章目录 EventBus简介DDD领域事件架构简析快速入门pom依赖bean配置PublisherSubscriber 设计原理PublisherSubscriber 事件总线(EventBus)&#xff0c;设计初衷是解耦系统模块&#xff0c;将系统中的各类业务操作抽象为事件模型&#xff0c;我们把产生事件的部分称之为事件的发…

电容笔哪个厂家的产品比较好?时下热门的平替苹果笔

苹果原装的Pencil&#xff0c;在市场上可是炙手可热的&#xff0c;而且苹果的这款pencil&#xff0c;也不是什么便宜的。当然&#xff0c;你可以用这个苹果笔搭配iPad&#xff0c;不过&#xff0c;如果你不想花很多钱&#xff0c;那就可以换一支普通的平替电容笔。就当前的技术…

一篇搞定C语言操作符(详解含示例)

目录 一.操作符是什么&#xff1f; 基本特征 语义 优先级 结合性 二.操作符的分类 三.操作符各类详解 1.算数操作符&#xff08; - * / %&#xff09; &#xff08;1&#xff09;优先级&#xff1a; &#xff08;2&#xff09;除法操作符&#xff08;…

数学基础-标量,向量,张量

前言 数学中&#xff0c;如何描述事务&#xff0c;以棍子为例子&#xff1a; 棍子的长度棍子方向棍子转向… 标量 单纯的形容事务的一个特征&#xff0c;如果体积&#xff0c;长度。 向量 指具有大小&#xff08;magnitude&#xff09;和方向的量。它可以形象化地表示为带…