網站首頁 編程語言 正文
本文實例為大家分享了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
相關推薦
- 2023-03-04 React使用redux基礎操作詳解_React
- 2023-11-16 RuntimeError: Expected object of device type cuda
- 2022-05-22 asp.net?Core中同名服務注冊的實現代碼_實用技巧
- 2022-08-08 redis如何實現保存對象_Redis
- 2022-09-24 ASP.NET?MVC下拉框中顯示枚舉項_實用技巧
- 2022-08-23 Python解析器Cpython的GIL解釋器鎖工作機制_python
- 2022-05-11 并發編程之CAS和Atomic原子操作類
- 2023-12-18 BindingException異常產生原因及解決方案
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支