一个网站怎么做软件,网络推广网站电话,镇江建设局网站,小游戏网页版前言#xff1a; 学习笔记的内容来自B站up主阿西拜编程
《Qt6 C开发指南 》2023#xff08;上册#xff0c;完整版#xff09;_哔哩哔哩_bilibili《Qt6 C开发指南 》2023#xff08;上册#xff0c;完整版#xff09;共计84条视频#xff0c;包括#xff1a;00书籍介…前言 学习笔记的内容来自B站up主阿西拜编程
《Qt6 C开发指南 》2023上册完整版_哔哩哔哩_bilibili《Qt6 C开发指南 》2023上册完整版共计84条视频包括00书籍介绍、1.1Qt简介、1.2Qt6安装等UP主更多精彩视频请关注UP账号。https://www.bilibili.com/video/BV1km4y1k7CW/
哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ss5138
一、Qt Creator 使用技巧 快捷键使用
F4在同名的头文件和源程序文件之间切换F2变量跳转到声明函数声明和定义切换 CtrlShiftR 该名称将所有用到这个字符的地方替换掉CtrlI为选中的文本自动缩进Ctrl/注释或取消注释F1为光标所在的位置显示帮助文档CtrlShiftS文件全部保存CtrlF调出查找和替换对话框F3查找下一个CtrlB编译当前项目F5开始调试F10单步略过调试执行当前程序语句F11单步跟踪调试如果当前行里有函数就跟踪进入函数F9设置或取消断点 二、 Qt的元对象系统
2.1 Qt的元对象系统概述 QT中引入元对象系统对标准C语言进行了扩展。概述 ● Qobject类是所有使用元对象系统的类的基类 ● 必须在一个类的开头部分插入宏Q_OBJECT 才可以使用元对象系统的特性。 当 MoC发现类中定义了Q OBJECT宏时会为其生成相应的C源文件 ● 元对象编译器 (Meta-object CompilerMOC) 是一个预处理器先将Qt的特性 程序转换为标准C程序在由标准C编译器进行编译 Object类 元对象系统的特性是通过QObject的一些函数来实现的。 ● 元对象 (meta object): 每个QObject及其子类的实例都有一个元对象 (静态变 量staticMetaObject) 。函数metaobject()可以返回它的指针。 ● 类型信息: Qobject的inherits()函数可以判断继承关系。 ● 动态翻译: 函数tr()返回一个字符串的翻译版本。 ● 对象树:表示对象间从属关系的树状结构。Qobject提供了parent()、children(). findChildren()等函数。对象树中的某个对象被删除时它的子对象也将被删除。 ● 信号和槽:对象间的通信机制。 ● 属性系统: 可以使用宏Q_PROPERTY定义属性Qobject的setProperty()会设置属 性的值或定义动态属性; property函数会返回属性的值。 2.2 属性系统 属性系统: 在oobject的子类中可以通过Q_PROPERTY宏定义属性。 2.3 信号与槽 信号与槽是元对象系统支持的对象间通信所采取的机制 connect(sender,SIGNAL(signal()),receiver,SLOT(slot())); 最后一个参数:Qt::ConnectionType表示了信号与槽槽之间的关联方式 Qt::AutoConnection (缺省值):自动确定关联方式。 Qt::DirectConnection:信号被发射时槽立即执行槽函数与信号在同一线程 Qt::QueuedConnection: 事件循环回到接收者线程后执行槽槽与信号在不同线程信号线程会被阻塞直 Qt::BlockingQueueConnection: 与Qt::QueuedConnection相似到槽执行完毕。当槽函数与信号在同一线程会造成死锁。 disconnect()函数的使用 1. 解除与一个sender所有signal的连接: disconnect(myobject,nullptr,nullptr,nullptr);//静态函数 myobject-disconnect();//成员函数 2. 解除与一个特定信号的所有连接: disconnect(myobjectSIGNAL(mysignal())nullptr nullptr); myobject-disconnect(SIGNAL(mySignal())); 3. 解除与一个特定receiver的所有连接: disconnect(myobject, nullptr,myReceivernullptr); myobject-disconnect(myReceiver); 4. 解除一对特定的信号和槽的连接: disconnect(lineEdit,QLineEdit::textChanged,label,QLabel::setText); 2.4 对象数 对象树 Qobject以对象树的形式组织自己其构造函数里有一个parent参数。当用另一个 对象作为父对象创建一个QObject时它会被添加到父对象的children()列表中而 当父对象被删除时是时它会被删除。这种方法非常适合GUI对象的需求。例如 QShortcut(键盘快捷键)是相关窗口的子对象因此当用户关闭该窗口时快捷键 也会被删除。 三、C补充知识——STL标准模板库 STL六大部件 容器Containers分配器Allocators算法Algorithm迭代器Iterators适配器Adapters仿函数Functors 容器的分类 1、序列式容器(Sequence containers) 每个元素都有固定位置 - - 取决于插入时机和地点和元素值无关。 vector、 deque、 list、 stack、 queue 2、关联式容器 (Associated containers) 元素位置取决于特定的排序准则和插入顺序无关。 set、multiset、map、multimap