C++面试八股文(Qt 定时器与事件循环)
1. Qt 中有哪些实现定时器的方式?
在 Qt 中,实现定时器主要有以下几种方式:
- QTimer最常用的定时器方式,基于事件循环,支持单次和周期定时,使用简单。
- QObject::startTimer() / timerEvent()通过对象启动一个底层定时器,在 timerEvent() 中处理超时事件,适合轻量级定时需求。
- QBasicTimer是对 startTimer() 的封装,效率较高,常用于对性能要求较高的场景。
- QElapsedTimer用于测量时间间隔,不触发超时事件,主要用于性能统计和耗时测量。
- 系统定时器(结合线程)在子线程中配合 QTimer 或系统接口实现更高精度的定时控制。
2. QTimer 的使用方法是什么?
QTimer 是 Qt 中最常用的定时器类,使用方式主要包括以下几步:
- 创建
QTimer对象 - 连接
timeout()信号到槽函数 - 调用
start()启动定时器,设置时间间隔(毫秒)
示例流程(面试描述):QTimer 定时器启动后,每到达设定的时间间隔就会触发 timeout() 信号,在槽函数中处理定时任务。
此外:
- 可以使用
setSingleShot(true)设置为单次定时器 - 也可以使用静态函数
QTimer::singleShot()实现一次性延时执行
3. startTimer() 和
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
C++八股文全集 文章被收录于专栏
本专栏系统梳理C++技术面试核心考点,涵盖语言基础、面向对象、内存管理、STL容器、模板编程及经典算法。从引用指针、虚函数表、智能指针等底层原理,到继承多态、运算符重载等OOP特性从const、static、inline等关键字辨析,到动态规划、KMP算法、并查集等手写实现。每个知识点以面试答题形式呈现,注重原理阐述而非冗长代码,帮助你快速构建完整知识体系,从容应对面试官提问,顺利拿下offer。

查看9道真题和解析