#QT(QT时钟)
1.IDE:QTCreator
2.实验
3.记录
qtime(qt的时间类)
qtimer(qt的定时类)
4.代码
widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTime> //
#include <QTimer> //
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTQTime time; //QTimer timer; //
public:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_start_pb_clicked();void timeout_slot();void on_stop_pb_clicked();void on_reset_pb_clicked();void on_dadian_pb_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"static int i;Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(&timer,SIGNAL(timeout()),this,SLOT(timeout_slot()));time.setHMS(0,0,0,0); //设置时间0时0分0秒0毫秒ui->show_time->setText("00:00:00:000"); //初始化显示
}Widget::~Widget()
{delete ui;
}void Widget::on_start_pb_clicked() //开始按钮按下时
{timer.start(10); //定时10ms
}void Widget::timeout_slot() //定时到达处理函数
{// qDebug("1s");time=time.addMSecs(10);ui->show_time->setText(time.toString("hh:mm:ss.zzz"));
}void Widget::on_stop_pb_clicked() //停止按钮按下时
{timer.stop(); //停止定时器
}void Widget::on_reset_pb_clicked() //重置按钮按下时
{timer.stop(); //停止定时器time.setHMS(0,0,0,0); //设置时间0时0分0秒0毫秒ui->show_time->setText("00:00:00:000"); //初始化显示i=0; //排名计数器清0
}void Widget::on_dadian_pb_clicked() //打点按钮按下时
{QString temp;i=i+1;temp.setNum(i);ui->keep_dadian->append(temp);ui->keep_dadian->append(time.toString("hh:mm:ss.zzz")); //记下打点的时间
}