如何用Qt实现秒表计时功能?

更新于
2026-10-10 13:46:09
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计428个文字,预计阅读时间需要2分钟。

如何用Qt实现秒表计时功能?

本例为家庭分享了Qt编写秒表的具体实现代码,供大家参考。以下为文件widget.h的内容:

cpp#ifndef WIDGET_H#define WIDGET_H

#include

class Widget : public QWidget{ Q_OBJECT

public: Widget(QWidget *parent=nullptr);

private slots: void onTimerTicked();

如何用Qt实现秒表计时功能?

private: QTimer *timer; QLabel *label; int seconds;};

#endif // WIDGET_H

本文实例为大家分享了Qt编写秒表的具体实现代码,供大家参考,具体内容如下

文件widget.h

#ifndef WIDGET_H #define WIDGET_H #include<QTimer> #include <QWidget> #include<QString> #include<QTime> 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

main.cpp

#include "widget.h" #include <QApplication>   int 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<QString> #include<QTime> 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界面如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计428个文字,预计阅读时间需要2分钟。

如何用Qt实现秒表计时功能?

本例为家庭分享了Qt编写秒表的具体实现代码,供大家参考。以下为文件widget.h的内容:

cpp#ifndef WIDGET_H#define WIDGET_H

#include

class Widget : public QWidget{ Q_OBJECT

public: Widget(QWidget *parent=nullptr);

private slots: void onTimerTicked();

如何用Qt实现秒表计时功能?

private: QTimer *timer; QLabel *label; int seconds;};

#endif // WIDGET_H

本文实例为大家分享了Qt编写秒表的具体实现代码,供大家参考,具体内容如下

文件widget.h

#ifndef WIDGET_H #define WIDGET_H #include<QTimer> #include <QWidget> #include<QString> #include<QTime> 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

main.cpp

#include "widget.h" #include <QApplication>   int 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<QString> #include<QTime> 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界面如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。