本文实例为大家分享了Qt编写秒表的具体实现代码,供大家参考,具体内容如下
文件widget.h
#ifndef WIDGET_H#define WIDGET_H#include#include #include #include namespace Ui {class Widget; } class Widget : public QWidget{Q_OBJECT public:explicit Widget(QWidget *parent = 0); ~Widget(); private slots:void on_startButton_clicked(); void updatesolt(); void on_stopButton_clicked(); private:Ui::Widget *ui; int num ; QTimer *timer; }; #endif // WIDGET_H
【Qt编写秒表功能】main.cpp
#include "widget.h"#includeint main(int argc, char *argv[]){QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }
widget.cpp
#include "widget.h"#include "ui_widget.h"#include#include Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui->setupUi(this); num =0; // ui->lineEdit->setText(QString::number(num)); ui->lcdNumber->setDigitCount(8); QTime time; time.setHMS(0,0,0); ui->lcdNumber->display(time.toString("hh:mm:ss")); //这个this是为了指定父对象,//只要指定了父对象,那么在堆区申请的空间,会在释放父对象的时候,会自动释放timer = new QTimer(this); //只要设定的时间到,timer 就会产生一个timeout的信号,而且是循环产生connect(timer,SIGNAL(timeout()),this,SLOT(updatesolt())); } Widget::~Widget(){delete ui; } void Widget::on_startButton_clicked(){//启动定时器单位是毫秒timer->start(10); }void Widget::updatesolt(){num++; QTime time(0,0,0); QTime t = time.addSecs(num); ui->lcdNumber->display(t.toString("hh:mm:ss")); } void Widget::on_stopButton_clicked(){timer->stop(); }
UI界面如下:
文章图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。