Qt编写秒表功能

 更新时间:2022年08月04日 12:13:09   作者:勤勉之  
这篇文章主要为大家详细介绍了Qt编写秒表功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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界面如下:

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

相关文章

  • C++ 命名空间--namespace总结

    C++ 命名空间--namespace总结

    namespace中文意思是命名空间或者叫名字空间,下面这篇文章主要给大家介绍了关于C++中名称空间namespace使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2021-09-09
  • C++之异常处理详解

    C++之异常处理详解

    C++中处理异常的过程是这样的:在执行程序发生异常,可以不在本函数中处理,而是抛出一个错误信息,把它传递给上一级的函数来解决,上一级解决不了,再传给其上一级,由其上一级处理
    2013-08-08
  • c++的virtual和override作用及说明

    c++的virtual和override作用及说明

    这篇文章主要介绍了c++的virtual和override作用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C语言实现汉诺塔游戏

    C语言实现汉诺塔游戏

    个人觉得汉诺塔这个递归算法比电子老鼠的难了一些,不过一旦理解了也还是可以的,其实网上也有很多代码,可以直接参考。记得大一开始时就做过汉诺塔的习题,但是那时代码写得很长很长,也是不理解递归的结果。今天重新来实现一下
    2015-03-03
  • C语言实例讲解嵌套语句的用法

    C语言实例讲解嵌套语句的用法

    所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里 面还有 while,或者 for 里面有 while,while 里面有 if-else,这都是允许的
    2022-05-05
  • OPENMP SECTIONS CONSTRUCT原理示例解析

    OPENMP SECTIONS CONSTRUCT原理示例解析

    这篇文章主要为大家介绍了OPENMP SECTIONS CONSTRUCT原理示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • C++ 中的单例模式(普通,2B,文艺)

    C++ 中的单例模式(普通,2B,文艺)

    这篇文章主要介绍C++ 中的单例模式写法,主要包括普通,2B,文艺三种写法,需要的朋友可以参考下
    2013-03-03
  • C++使用UDP通讯的实现示例

    C++使用UDP通讯的实现示例

    本文实现对C++使用UDP做了简单封装,实现通讯,包括服务端和客户端,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • 详解利用C语言如何实现简单的内存池

    详解利用C语言如何实现简单的内存池

    这篇文章主要给大家介绍了关于C语言如何实现简单的内存池的相关资料,设计内存池的目标是为了保证服务器长时间高效的运行,通过对申请空间小而申请频繁的对象进行有效管理,减少内存碎片的产生,合理分配管理用户内存,需要的朋友可以参考下
    2021-08-08
  • C/C++函数的调用约定的使用

    C/C++函数的调用约定的使用

    本文主要介绍了C/C++函数的调用约定的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论