日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Qt計時器使用方法詳解_C 語言

作者:巨蟹賊香 ? 更新時間: 2022-10-04 編程語言

本文實例為大家分享了Qt計時器的使用方法,供大家參考,具體內容如下

計時器

在我們的日常設計程序中,經常需要固定時間段來刷新界面或者處理一些事務,這個時候計時器就很重要。

比如說在用Qt設計一個時間顯示程序時

我們若想讓這個標簽實時變動,計時器就是個很好的方法。

計時器類QTimer

我們先看看它的信號-槽機制

public Q_SLOTS:
? ? void start(int msec);

? ? void start();
? ? void stop();

Q_SIGNALS:
? ? void timeout(QPrivateSignal);

start函數就是說計時器的開始;
對應的stop就是計時器結束。

timeout就是發射信號;

在直接使用start();時,默認一秒發送約2000次信號

在使用start(int msec)時,則是每msec毫秒發送一次信號

代碼示例

注:為了方便顯示信號發送的頻率,我引入了i來記錄此頻率。

MainWindow::MainWindow(QWidget *parent)
? ? : QMainWindow(parent)
{
? ? label = new QLabel(this);
? ? setCentralWidget(label);
? ? label->setAlignment(Qt::AlignCenter); ? ? ? //設置標簽居中顯示

? ? timer = new QTimer;
? ? connect(timer,&QTimer::timeout,this,&MainWindow::timeoutShow); //定義計時器,并連接槽函數

? ? timer->start(); ? ? //開始計時
}

MainWindow::~MainWindow()
{
}

void MainWindow::timeoutShow()
{
? ? static int i = 0; ? ? ? ? ? ? ? //記錄調用次數
? ? label->setText(QTime::currentTime().toString()+" ? ? "+QString::number(i++)); ? //顯示時間+次數
}

上述代碼是沒有設定定時器的。

定時器設置為100ms的

timer->start(100);

定時器設置為1000ms的

timer->start(1000);

上圖中gif可能帶有加速效果 具體按照時間跳動對比

原文鏈接:https://blog.csdn.net/yc__coder/article/details/108395150

欄目分類
最近更新