中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT如何實現秒表項目

發布時間:2022-08-04 15:53:20 來源:億速云 閱讀:166 作者:iii 欄目:開發技術

這篇文章主要介紹“QT如何實現秒表項目”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“QT如何實現秒表項目”文章能幫助大家解決問題。

源代碼目錄

QT如何實現秒表項目

mainwindow.ui窗口設計

QT如何實現秒表項目

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

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

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void updateTimeAndDisplay();


    void on_btn_start_clicked();

    void on_btn_stop_clicked();

    void on_btn_pause_clicked();

    void on_btn_log_clicked();

private:
    Ui::MainWindow *ui;
    QTimer *ptimer;
    QTime baseTime;
    QString showStr;

};

#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QString>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->ptimer=new QTimer;
    connect(this->ptimer,SIGNAL(timeout()),this,SLOT(updateTimeAndDisplay()));

}

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

void MainWindow::updateTimeAndDisplay(){
    QTime current=QTime::currentTime();
    int t=this->baseTime.msecsTo(current);
    QTime showTime(0,0,0,0);
    showTime=showTime.addMSecs(t);
    showStr=showTime.toString("hh:mm:ss:zzz");
    this->ui->lcdNumber->display(showStr);
}

void MainWindow::on_btn_start_clicked()
{
    this->baseTime=QTime::currentTime();
    this->ptimer->start(1);
    this->ui->btn_start->setEnabled(false);
}

void MainWindow::on_btn_stop_clicked()
{
    if(this->ui->btn_stop->text()=="停止"){
        this->ui->btn_stop->setText("清零");
        this->ptimer->stop();
    }else{
        this->ui->lcdNumber->display("00:00:00:000");
        this->ui->textBrowser->clear();
        this->ui->btn_stop->setText("停止");
        this->ui->btn_start->setEnabled(true);
    }

}

void MainWindow::on_btn_pause_clicked()
{
    static QTime pauseTime;
    if(this->ui->btn_pause->text()=="暫停"){
        pauseTime=QTime::currentTime();
        this->ptimer->stop();
        this->ui->btn_pause->setText("繼續");
    }else{
        QTime cut=QTime::currentTime();
        int t=pauseTime.msecsTo(cut);
        this->baseTime=this->baseTime.addMSecs(t);
        this->ptimer->start(1);
        this->ui->btn_pause->setText("暫停");

    }


}

void MainWindow::on_btn_log_clicked()
{
    this->ui->textBrowser->append(this->showStr);
}

main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

關于“QT如何實現秒表項目”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

qt
AI

黄骅市| 驻马店市| 府谷县| 佛山市| 花莲县| 常宁市| 深州市| 呼玛县| 滦南县| 垦利县| 亳州市| 威海市| 广丰县| 滦平县| 疏附县| 资源县| 昔阳县| 高要市| 杭锦后旗| 大埔县| 社会| 峡江县| 水富县| 鸡泽县| 古丈县| 丹寨县| 吴忠市| 巩留县| 山西省| 唐山市| 延津县| 龙南县| 清新县| 马山县| 宁德市| 浮梁县| 安达市| 怀仁县| 察隅县| 枣阳市| 泰州市|