QT设计秒表功能(跑步计时器)
短信预约 -IT技能 免费直播动态提醒
本文实例为大家分享了QT设计秒表功能的具体代码,供大家参考,具体内容如下
设计目标
1. 定时器开始
2.复位从0开始计时
3.记录--把记录的时间添加到QTextBrowser, append(时间)
4. QTime t(0,0,0) t = t.addMsec( number ) t.toString (“hh:mm:ss:zzz”)
定时器(QTimer)的使用
定时器---定时发送信号timeout
QTimer 定时器类
1.创建定时器类对象
QTimer mtimer;
2.把定时器信号与槽函数关联
connect(&mtimer, &QTimer::timeout, this, &TimerWin::on_outBt_clicked);
3.启动定时器
mtimer.start(1000);
4.停止定时器
mtimer.stop();
QT Creator组件布局
运行效果
源码
stopwatchwin.h
#ifndef STOPWATCHWIN_H
#define STOPWATCHWIN_H
#include <QMainWindow>
#include <QTime>
#include <QTimer>
namespace Ui {
class StopwatchWin;
}
class StopwatchWin : public QMainWindow
{
Q_OBJECT
public:
explicit StopwatchWin(QWidget *parent = nullptr);
~StopwatchWin();
void fun_clicked();
private slots:
void on_pushButton_clicked();
void on_startBt_clicked();
void on_stopBtn_clicked();
void on_recordBtn_clicked();
void on_resertBt_clicked();
private:
Ui::StopwatchWin *ui;
//QTime t;
QTime t = QTime(0,0,0,0);
QTimer mtimer;
};
#endif // STOPWATCHWIN_H
stopwatchwin.cpp
#include "stopwatchwin.h"
#include "ui_stopwatchwin.h"
#include <QDebug>
StopwatchWin::StopwatchWin(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::StopwatchWin)
{
ui->setupUi(this);
//把定时器信号与槽函数关联
connect(&mtimer, &QTimer::timeout, this, &StopwatchWin::fun_clicked);
}
StopwatchWin::~StopwatchWin()
{
delete ui;
}
void StopwatchWin::fun_clicked()
{
QString tim = t.toString("hh:mm:ss:zzz");
t = t.addMSecs(10);
ui->lcdNumber->display(tim);
qDebug()<<"1111";
}
void StopwatchWin::on_startBt_clicked()
{
qDebug()<<"启动定时器";
mtimer.start(10);
}
void StopwatchWin::on_stopBtn_clicked()
{
qDebug()<<"停止定时器";
if(mtimer.isActive())
{
mtimer.stop();
}
}
void StopwatchWin::on_pushButton_clicked()
{
}
void StopwatchWin::on_recordBtn_clicked()
{
QString tim = t.toString("hh:mm:ss:zzz");
ui->textBrowser->append(tim);
}
void StopwatchWin::on_resertBt_clicked()
{
t = QTime(0,0,0,0);
}
main.cpp
#include "stopwatchwin.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
StopwatchWin w;
w.show();
return a.exec();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341