Qt之QTimer(定时器)
QTimer在界面中不可见,在UI设计器中也找不到它,只能通过纯代码实现,主要作用是定时特定的时间。
想要掌握QTimer只需掌握setInterval(设置定时时间,单位ms)、start(启动定时器),和定时时间到时所发出的信号timeout()即可。程序设计的思路:
1.先设定定时周期
2.绑定timeout()信号到自定义槽函数
3.调用start函数启动定时器
下面是widget窗口类中的定义:
class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;QTimer *tim;
public slots:void onTimeOut();
};
在这里定义了一个QTimer,还定义了槽函数onTimeOut(),作为timeout信号所对应的槽函数。
窗口类的构造函数中的代码如下:
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);tim = new QTimer();tim->setInterval(1000);connect(tim,SIGNAL(timeout()),this,SLOT(onTimeOut()));tim->start();
}
在本例中先是设置定时器的定时周期为1s,后面又进行了信号与槽的绑定,最后是启动定时器。
定时器处理函数中的代码如下:
void Widget::onTimeOut()
{static int value = 0;ui->progressBar->setValue(value++);if(value > 100)tim->stop();
}
这段代码是在QProgressBar中显示定时秒数,秒数范围是0-100.当定时时间超过设定的最大秒数时,定时器停止。
程序运行效果如下:
QProgressBar设置如下:
QProgressBar的数值范围为0-100,初始值(value)为0,显示格式是%ps(%p代表当前value值,s代表显示后缀,在本例中就是xxs)
Qt之QTimer(定时器)相关推荐
- Qt中利用定时器QTimer实时显示当前日期和时间
Qt中利用定时器QTimer实时显示当前日期和时间 时显示当前日期和时间.下面说明方法: 1. 在工程中声明一个全局QTimer对象 QTimer *timer; 2. 在构造函数中定义QTimer, ...
- QT 中QTimer 和 startTimer()的区别
最需要注意一点 请注意,QTimer的准确性取决于底层操作系统和硬件.timerType参数允许您自定义计时器的准确性.有关不同计时器类型的信息,请参见Qt::TimerType.大多数平台支持20毫 ...
- Qt for Android 定时器
Qt for Android 定时器 flyfish 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> ...
- QTimer 定时器
QTimer类为我们提供了一个即可重复触发又可单次触发的定时器.它是一个高层次的应用程序接口.要使用它,只需创建一个QTimer类对象,将它的timeout()信号连接到适当的函数上,然后调用其sta ...
- QObject::startTimer: Timers cannot be started from another thread [使用自定义信号与曹函数来解决在子线程中不能调用QTimer定时器]
使用自定义信号与曹函数来解决在子线程中不能调用QTimer定时器 报错: QObject::startTimer: Timers cannot be started from another thre ...
- QTimer定时器的使用,判断ros是否关闭,ros关闭后关闭窗口
QTimer定时器的使用,判断ros是否关闭,ros关闭后关闭窗口 c++ #include <QApplication> #include <ros/ros.h> #incl ...
- 【Qt】QTimer的简单使用
定义定时器对象:QTimer *myTimer; 动态分部内存空间:myTimer = new QTimer(this); 启动定时器:myTimer->start(100); 定时器超时事件: ...
- 2.6.4 Qtimer定时器介绍
2.6.4 Qtimer定时器介绍 QTimer类提供了定时器功能,在指定的时间超时之后可以发出超时信号,可以单次或者重复定时. QTimer使用方法比较简单:先创建一个QTimer定时器,使用sta ...
- QT QTimer定时器显示系统时间倒计时功能
QT定时器显示系统时间倒计时功能 lcdNumber控件显示 QTimer::singleShot(10000,this,&MainWindow6_6::close);//10秒后窗口自动关闭 ...
最新文章
- mysql 一周一月_mysql查询当天、本周,本月,上一个月的数据
- Linux安全管理-Iptables-NAT技术应用
- springmvc二: @RequestMapping
- c语言符合运算符的运算顺序,二 如何学习C语言的运算符和运算顺序
- mysql 使用不同引擎_mysql 不同引擎的比较
- 武汉理工大学计算机学院2018复试,武汉理工大学2018年自主招生复试揭秘
- Django---模版层
- XML解析和创建的JAXB方式
- 为iOS Vision盒子架构建Core ML管道(五)
- Leetcode每日一题:22.generate-parentheses(括号生成)
- Android安全-代码安全1-ProGuard混淆处理
- gdc服务器维修员登录密码,gdc服务器密码
- Unity3D “xx AnimationEvent has no function name specified!”解决方案
- [Android实例] Android有效解决加载大图片内存溢出问题及优化虚拟机内存
- 进军欧罗巴:中国区块链企业何以敲开欧洲市场的大门
- Unity 用什么IDE比较好?
- IOS-内存泄漏检测工具Instruments中的Leaks
- CAP理论、AP架构、CP架构
- Mybatis-主键回填
- OSChina 周一乱弹 ——看见别人的工作台眼神都发光