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();

技 術 無 他, 唯 有 熟 爾。
知 其 然, 也 知 其 所 以 然。
踏 實 一 些, 不 要 着 急, 你 想 要 的 歲 月 都 會 給 你。


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