- 博客(116)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 QT中常用类的成员(2024.8.20更新)
/ QUrl 类是 Qt 框架中用于处理 URL 的重要类。以下是 QUrl 类的所有成员函数和枚举类型的详细列表:// 构造函数QUrl();// 默认构造函数,创建一个空的 QUrl 对象// 从字符串创建 QUrl 对象// 从字符串和解析模式创建 QUrl 对象// 拷贝构造函数// 移动构造函数// 析构函数~QUrl();// 析构函数// 公共成员函数// 赋值运算符// 移动赋值运算符// 交换函数// 检查 QUrl 是否为空// 检查 QUrl 是否有效。
2024-08-21 08:00:00
1899
原创 QT事件过滤器
事件过滤器(Event Filter)是一种强大的机制,允许你在事件到达目标对象之前拦截和处理这些事件。事件过滤器可以用于全局事件处理、调试、性能优化等多种场景。事件过滤器是一个实现了 QObject::eventFilter 虚函数的对象。通过调用 QObject::installEventFilter 方法,可以将事件过滤器安装到目标对象上。当目标对象接收到事件时,事件会首先传递给事件过滤器进行处理。性能影响:事件过滤器可能会影响应用程序的性能,特别是在处理大量事件时。
2024-08-24 14:08:10
172
原创 QT 文件
自定义数据结构:定义需要序列化和反序列化的数据结构。重载操作符:重载QDataStream的<<和>>操作符,以便能够序列化和反序列化自定义数据结构。设置版本:使用setVersion方法设置QDataStream的版本,以确保兼容性。文件操作:使用QFile打开文件进行读写操作,并使用QDataStream进行数据的序列化和反序列化。
2024-08-23 22:57:49
677
原创 QT emit关键字
emit 是 Qt 框架中的一个关键字,用于显式地触发信号(signals)。信号是 Qt 中用于对象间通信的一种机制,通过 emit 关键字,程序员可以在代码中明确地触发信号,从而通知连接的槽(slots)执行相应的操作。在类定义中使用 signals 关键字定义信号。在需要触发信号的地方使用 emit 关键字。
2024-08-21 08:30:12
119
原创 QT常用对话框
QMessageBox 不仅可以使用标准按钮和消息类型,还可以创建自定义对话框。通过设置自定义图标、按钮和文本,可以创建符合特定需求的对话框。private:labelmsg = new QLabel("消息自定义");labeldismsg = new QLabel("未改变" );msgBox.setWindowTitle("自定义的消息框标题");msgBox.setText("自定义的消息框内容");
2024-08-20 08:43:29
307
原创 C++ STL 关联型容器
map 的特性是,所有元素会根据元素的键值自动被排序,map 的所有元素都是 pair,同时拥有实值(Value)和键值(Key)。pair 的第一元素被视为键值,第二个元素被视为实值。map 不允许两个元素拥有相同的键值。
2024-08-15 09:27:52
411
原创 C++ STL deque 双端队列
双端操作:可以在队列的两端高效地进行插入和删除操作。动态数组:内部实现为一个动态数组,支持随机访问。分段连续存储:与 vector 不同,deque 的分段连续存储结构使得在两端插入和删除元素时效率更高。= d.end();++it) {// 输出: 2 1 3// [1, 3]// [1]// 输出: Size: 1return 0;ch<='z';
2024-08-15 09:27:12
254
原创 Qt 信号与槽机制
1、信号(signal):所谓信号槽(观察者模式),信号本质是事件。信号展现方式就是函数。当某一个事件发生之后,则发出一个信号(signal)。2、槽(slot):就是对信号响应的函数,槽就是一个函数。槽函数与普通函数区别:槽函数可以与一个信号关联,当信号被发射的时候,关联的槽函数被自动执行处理。信号与槽关联是使用 QObject::connect()函数进行实现。信号函数只需要声明(不需要定义(实现)),而槽函数需要定义(实现)。信号和槽机制底层是通过函数之间进行相互调用实现的。
2024-08-12 08:49:58
443
原创 C++11 bind
bind 用来将可调用对象和参数一起进行绑定。可调用对象包括普通函数、全局函数、静态函数、类静态函数甚至是类成员函数,参数包括普通参数和类成员。绑定后的结果,可以使用 std::function 进行保存,并延迟调用到我们需要的时候。
2024-08-12 08:47:58
497
原创 C++ 11 类模版 std::function
类模版 std::function 是可调用对象的包装器,可以包装除了类成员函数之外的所有可调用对象。包括,普通函数,函数指针, lambda,仿函数。通过指定的模板参数,它可以用统一的方式保存,并延迟执行它们。所谓的延迟执行,就是回调了。
2024-08-11 12:18:44
236
原创 C++ 11 auto(自动类型推导) 和 decltype(获取表达式类型)
/todo 推导类型(decltype) 重定义 typedef// 推导类型为map<int, string>::value_type()return 0;
2024-08-10 11:20:05
688
原创 C++ 11 for 循环和容器
C++为 for 提供 for range 的用法。对于 STL(vector/list/map)的遍历带来了极大的书写便利。(range for)语句遍历给定序列中的每个元素并对序列中的每个值执行某种操作,其语法形式是:for STLvector 初始化std::vector 是 C++ 标准库中的一个动态数组容器,定义在 头文件中。它提供了高效的随机访问和在末尾插入/删除元素的能力,但在中间或开头插入/删除元素的效率较低。std::vector 是动态大小的,可以根据需要自动调
2024-08-09 08:47:05
486
原创 C++ 11中一些新的关键字用法
nullptr 是用于解决 NULL 和 0 的有疑义关系的。NULL 通常被义为(void*)0。在如下应用中会引发歧义。
2024-08-09 08:46:40
420
原创 C++ 异常处理
try{被检查可能抛出异常的语句catch(异常信息类型 [变量名]){进行异常处理的语句使用条例1,被检语句必须放在 try 块中,否则不起作用。2,try catch 中花括号不可省。3,一个 try-catch 结构中,只能有一个 try 块,catch 块却可以有多个。以便与不同的类型信息匹配。try{}4,throw 抛出的类型,既可以是系统预定义的标准类型也可以是自定义类型。从抛出到 catch 是一次复制拷贝的过程。如果有自定义类型,要考虑自定义类型的拷贝问题。
2024-08-08 08:43:47
297
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人