功能描述
- QT入门项目
- 能实现简单的启动、停止、清空、打点等功能
一、QT实现的定时器
widget.h代码实现:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include "QTime"
#include "QTimer"
QT_BEGIN_NAMESPACE
namespace Ui {
class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
QTimer timer;
QTime time;
private slots:
void on_startBtn_clicked();
void timer_slot();
void on_stopBin_clicked();
void on_resetBtn_clicked();
void on_bitBtn_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp代码实现:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
connect(&timer,SIGNAL(timeout()),this,SLOT(timer_slot()));
time.setHMS(0,0,0,0);
ui->timeShow->setText("00:00:00:000");
}
Widget::~Widget()
{
delete ui;
}
void Widget::timer_slot()
{
//qDebug("哈喽,QT");
time = time.addMSecs(30);
ui->timeShow->setText(time.toString("hh:mm:ss.zzz"));
}
void Widget::on_startBtn_clicked()
{
timer.start(30);
}
void Widget::on_stopBin_clicked()
{
timer.stop();
}
void Widget::on_resetBtn_clicked()
{
if(timer.isActive())
{
//qDebug("定时器开启");
timer.stop();
}
ui->timeShow->setText("00:00:00:000");
ui->textBrowser->clear();
}
void Widget::on_bitBtn_clicked()
{
//QString msg = ui->timeShow->text();
ui->textBrowser->append(time.toString("hh:mm:ss.zzz"));
}