广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >用QT实现计时器功能
  • 451
分享到

用QT实现计时器功能

QT计时器 2022-11-13 14:11:01 451人浏览 安东尼
摘要

本文实例为大家分享了Qt实现计时器功能的具体代码,供大家参考,具体内容如下 首先新建工程,Ctrl+N->Application(Qt)->Qt Widgets Appl

本文实例为大家分享了Qt实现计时器功能的具体代码,供大家参考,具体内容如下

首先新建工程,Ctrl+N->Application(Qt)->Qt Widgets Application,然后进入设置界面,名称和路径随意就好;Build System不考虑性能用qmake比较简单;剩下的采用默认选项就行。

初始化结束后,其项目文件组织如下

  • Timer.pro 此为工程文件
  • Headers 用于存放头文件的目录
  • Sources 用于存放源代码
  • FORMs 用于存放.ui文件,即界面设计文件

双击Forms下面的mainwindow.ui文件,进入图形化的UI编辑界面,左侧为各种控件,中间为程序设计的主窗口。由于一个计时器不需要太大的尺寸,故而可以直接拖动窗口右下角的三个点,更改其尺寸。也可以定位到右侧属性栏的geometry,展开后将宽度和高度分别设为400和200。

然后,将左侧Buttons下面的Push Button拖动到主窗口,然后在右侧可看到Push Button的各种属性。将QObject中的objectName改为pbStart;将QAbstractButton下的text改为start。一会儿用于开始计时。

在左侧搜索LCD,将LCD Number拖动到主窗口,将名字改为Timer,用于显示时间。

此时,我们最左侧的选项卡选中的是第三个设计,若点击第二个编辑,则可直接编辑窗口设计文件mainWindow.ui,然而只是让人看看,并不让编辑。但总之,至此已写完了一个简单的UI

接下来,要实现计时器的核心功能——计时,从而需要写c++代码。首先在.h文件中,写入需要的成员变量。考虑到要实现计时器的功能,所以至少需要一个用于计时的时钟和一个可以记录秒数的整数。故而进入mainWindow.h,在private:下输入成员,当然也不要忘了导入头文件,最终结果为

private:
    Ui::MainWindow *ui;
    QTimer * timer;
    QTime * TimeRecord;

除了成员变量,还要有成员函数。其中计时需要绑定一个函数,start按钮需要绑定一个,外加时间归零需要一个,故需三个成员函数,最终mainWindow.h内容为

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QTimer>
#include <QTime>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow{
    Q_OBJECT
public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
private slots:
    void initTime();
    void updateTime();
    void pbStart_clicked();
private:
    Ui::MainWindow *ui;
    QTimer * timer;
    QTime * TimeRecord;
};
#endif // MAINWINDOW_H

定义好头文件,接下来就要在.cpp中具体实现了,代码总共不到50行,如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent) , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    timer = new QTimer;
    TimeRecord = new QTime;
    ui->Timer->setDigitCount(8);
    initTime();     //令LCD显示00:00:00
    //连接槽函数,将timer的timeout行为,连接到updateTime函数中
    connect(timer, SIGNAL(timeout()), this, SLOT(updateTime()));
    //当点击(clicked)pbStart时,调用函数pbStart_clicked
    connect(ui->pbStart, SIGNAL(clicked()), this, SLOT(pbStart_clicked()));
}

MainWindow::~MainWindow(){
    delete ui;
}

void MainWindow::initTime(){
    TimeRecord->setHMS(0, 0, 0); //时间复位为0
    ui->Timer->display(TimeRecord->toString("hh:mm:ss"));
}

void MainWindow::updateTime(){
    //每次更新时间,TimeRecord增加1
    *TimeRecord = TimeRecord->addSecs(1);
    ui->Timer->display(TimeRecord->toString("hh:mm:ss"));
}

void MainWindow::pbStart_clicked(){
    if (QString::compare(ui->pbStart->text(),"stop")){
        //当按钮内容不为'stop'时,说明开启计时
        timer->start(1000);
        ui->pbStart->setText("stop");//计时开始后,按钮变为'stop'
    }else{
        timer->stop();
        ui->pbStart->setText("start");
        initTime();
    }
}

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

--结束END--

本文标题: 用QT实现计时器功能

本文链接: https://www.lsjlt.com/news/171800.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 用QT实现计时器功能
    本文实例为大家分享了QT实现计时器功能的具体代码,供大家参考,具体内容如下 首先新建工程,Ctrl+N->Application(Qt)->Qt Widgets Appl...
    99+
    2022-11-13
    QT 计时器
  • QT实现简单计算器功能
    本文实例为大家分享了QT实现简单计算器功能的具体代码,供大家参考,具体内容如下 效果图: 新建工程,创建类MainWindow,基类是QMainWindow,声明变量和函数、槽 m...
    99+
    2022-11-13
  • QT设计秒表功能(跑步计时器)
    本文实例为大家分享了QT设计秒表功能的具体代码,供大家参考,具体内容如下 设计目标 1. 定时器开始 2.复位从0开始计时 3.记录--把记录的时间添加到QTextBrowser, ...
    99+
    2022-11-13
    QT 秒表
  • QT如何实现简单计算器功能
    这篇文章主要讲解了“QT如何实现简单计算器功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT如何实现简单计算器功能”吧!效果图:新建工程,创建类MainWindow,基类是QMainWi...
    99+
    2023-06-30
  • Android实现计时器功能
    本文实例为大家分享了Android实现计时器功能的具体代码,供大家参考,具体内容如下 计时器工具类 import android.annotation.SuppressLint;...
    99+
    2022-11-12
  • 使用vue实现计时器功能
    本文实例为大家分享了vue实现计时器功能的具体代码,供大家参考,具体内容如下 首先我们要知道setTimeout和setInterval的区别 setTimeout只在指定时间后执行...
    99+
    2022-11-12
  • js实现计算器和计时器功能
    本文实例为大家分享了js实现计算器和计时器的具体代码,供大家参考,具体内容如下 完成简单的计算器 <!DOCTYPE html> <html>     <...
    99+
    2022-11-13
  • 小程序实现计时器功能
    本文实例为大家分享了小程序实现计时器功能的具体代码,供大家参考,具体内容如下 效果图如下 布局(.wxml) <view class="countTime">{{tim...
    99+
    2022-11-13
  • jQuery如何实现计时器功能
    小编给大家分享一下jQuery如何实现计时器功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在写项目的过程中遇到要前端60秒发...
    99+
    2022-10-19
  • vue.js实现简单计时器功能
    本文实例为大家分享了vue.js实现简单计时器功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> ...
    99+
    2022-11-12
  • Unity计时器功能实现示例
    目录Demo展示介绍计时器功能Unity计时器 Demo展示 介绍 游戏中有非常多的计时功能,比如:各种cd,以及需要延时调用的方法; 一般实现有一下几种方式: 1.手动计时 ...
    99+
    2022-11-12
  • android计时器功能怎么实现
    要实现Android计时器功能,可以使用Android中的CountDownTimer类。首先,在Activity或Fragment...
    99+
    2023-08-29
    android
  • C#中使用Stopwatch计时器实现暂停计时继续计时功能
    最近程序上用到了计时功能,对某个模块进行计时,暂停的时候模块也需要暂停,启动的时候计时继续 用到了Stopwatch Stopwatch的命名空间是using System.Diag...
    99+
    2022-11-13
  • 如何使用vue实现计时器功能
    小编给大家分享一下如何使用vue实现计时器功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下首先我们要知道setTimeout和setInterval的区别setTimeout只在指定时间后执行一次,代码如下:...
    99+
    2023-06-20
  • Handler实现倒计时功能
    本文实例为大家分享了Handler实现倒计时功能的具体代码,供大家参考,具体内容如下 1、需求 1.1 实现目标 当后台传递一个时间戳时,与当前系统时间做时间差,并转换为时分秒,作为...
    99+
    2022-11-12
  • vue实现倒计时功能
    本文实例为大家分享了vue实现倒计时功能的具体代码,供大家参考,具体内容如下 通过父组件传入的结束时间减去当前日期得到剩余时间 1.子组件部分 <div class="it...
    99+
    2022-11-11
  • Flutter实现倒计时功能
    本文实例为大家分享了Flutter实现倒计时功能的具体代码,供大家参考,具体内容如下 有一个需求,需要在页面进行显示倒计时,倒计时结束后,做相应的逻辑处理。 实现思路:在Flutte...
    99+
    2022-11-13
  • vue实现时间倒计时功能
    本文实例为大家分享了vue实现时间倒计时功能的具体代码,供大家参考,具体内容如下 需求: 做一个剩余支付时间倒计时的效果 效果图: 代码: <template> ...
    99+
    2022-11-12
  • Android实现时间倒计时功能
    本文实例为大家分享了Android实现时间倒计时功能展示的具体代码,供大家参考,具体内容如下效果展示MainActivity(主页面代码)public class MainActivity extends Activity { priva...
    99+
    2023-05-30
    android 倒计时 roi
  • 利用QT设计秒表功能
    本文实例为大家分享了QT设计秒表功能的具体代码,供大家参考,具体内容如下 一、窗口界面的设置 可以使用属性栏digitCount来设计此时0的初始位置 二、代码的编写 1、确定时间...
    99+
    2022-11-13
    QT 秒表
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作