2024年Qt面试题汇总
- 1. 请说说Qt的D指针(d_ptr)与Q指针(q_ptr)
- 2. 常用的Qt布局有几种,如何自适应缩放?
- 3. Qt信号和槽的本质是什么
- 4. 描述Qt中的文件流(QTextStream)和数据流(QDataStream)的区别
- 5. Qt程序是事件驱动的,事件到处都可以遇到。能说说平时经常使用到哪些事件吗?
- 6. 知道QT事件机制有几种级别的事件过滤吗?能大致描述下吗?
- 7.Qt线程同步的方法有哪些?
- 8. Qt connect的第五个参数(信号槽链接方式)?
- 9. 进程之间的通信方式有哪些?
- 10. Qt绘制原理双缓冲机制?
- 11. Qt 三大核心机制
- 12. Qt 中的容器类包括
- 13. QVector 内存分配策略
1. 请说说Qt的D指针(d_ptr)与Q指针(q_ptr)
在Qt技术面试中,D指针(d_ptr)与Q指针(q_ptr)是常考的知识点,它们与Pimpl(Pointer to IMPLementation)惯用法密切相关。以下是对这两个指针的详细解释:
1.1 D指针(d_ptr)
-
定义:D指针是Qt中常用的一种设计模式,用于隐藏类的实现细节,提高代码的可维护性和封装性。它通常定义为一个私有或受保护的成员变量,指向一个包含类实现细节的私有类(通常称为“d类”或“实现类”)。
-
作用:
- 隐藏实现细节:通过将类的实现细节封装在私有类中,减少了头文件的依赖和编译时间。
- 提高二进制兼容性:当私有类的实现发生变化时,由于公有类的接口保持不变,因此不需要重新编译依赖该公有类的程序。
- 减少编译依赖:公有类的头文件不需