QT中利用QTimer做延时功能

原理

做延迟功能可以充分利用 QTimer 的 timeout 超时特性来做,当QTimer超时时会触发超时的信号,我们可以利用这个信号来连接槽函数来做业务操作。

首先在头文件(.h文件)声明 QTimer

public:
	QTimer *my_timer;

再声明一个槽函数

public slots:
	void handleTimeout();

然后再.cpp文件中的构造器里面初始化 QTimer 和 连接 槽函数

// 初始化 QTimer
my_timer = new QTimer(this);
// 连接槽函数
connect(my_timer, SIGNAL(timeout()), this, SLOT(handleTimeout()));

接下来在需要做延迟的地方启动 QTimer

my_timer.start(500); // 单位为毫秒。此处是500毫秒。

等到 QTimer启动指定毫秒后就会触发 timeout 信号, 接着就会调用上面 connect 的槽函数。
接下来要做的就是实现的 handleTimeout() 函数的功能逻辑,等待调用即可。

如要关闭 QTimer,调用 stop方法即可。

my_timer.stop();

技 术 无 他, 唯 有 熟 尔。
知 其 然, 也 知 其 所 以 然。
踏 实 一 些, 不 要 着 急, 你 想 要 的 岁 月 都 会 给 你。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章