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

QT入门基础知识

什么是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.lryc.cn/news/93871.html

相关文章:

  • Leetcode---350周赛
  • Django通过Nginx和uWSGI实现负载均衡
  • 单元测试框架——Junit5
  • centos 系列添加 yum 源
  • [Hive高级特性与 DDL和DML语法]
  • Web服务器群集:Web基础与HTTP协议
  • cmd命令常用速记
  • Python网络爬虫基础进阶到实战教程
  • 树莓派使用VNC、SSH、Xrdp等方式进行远程控制的方法和注意事项
  • C++ 第二弹封装-类和对象
  • 浅析 GeoServer CVE-2023-25157 SQL注入
  • 1001router6-react
  • 前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input
  • VB+ACCESS超市管理系统设计(源代码+系统)
  • 【机器学习】十大算法之一 “神经网络”
  • 【MarkDown】CSDN Markdown之流程图graphflowchart详解
  • Git下:Git命令使用-详细解读
  • 一条SQL语句的前世今生
  • 各种架构比较
  • scapy定制数据包探测主机
  • 【Java】Java核心要点总结70
  • 如何把一个 Git 仓库的分支加入另一个无关的 Git 仓库
  • 深蓝学院C++基础与深度解析笔记 第 4 章 表达式
  • CLION开发STM32之W5500系列(一)
  • Web3通过ganache运行起一个本地虚拟区块链
  • 01 背包问题解析与代码 python 实现
  • Vue实现前端视频展示列表及特征提取、笔记、删除、文件夹组织功能
  • 多传感器时频信号处理:多通道非平稳数据的分析工具(Matlab代码实现)
  • 数据结构算法 -分而治之算法
  • 涉密信息系统口令管理制度