亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Qt實現簡易計時器的示例代碼

 更新時間:2022年06月16日 15:07:12   作者:wendy_ya  
計時器實現四個功能:開始計時、停止計時、暫停計時以及打點。當點擊暫停時,開始按鈕和停止按鈕無法點擊。當點擊停止時,開始按鈕和暫停按鈕無法點擊,此時停止按鈕變?yōu)榍辶?。本文將用Qt實現這樣的一個計時器,需要的可以參考一下

一、項目介紹

計時器實現四個功能:開始計時、停止計時、暫停計時以及打點。當點擊暫停時,開始按鈕和停止按鈕無法點擊,此時暫停按鈕變?yōu)槔^續(xù)。當點擊停止時,開始按鈕和暫停按鈕無法點擊,此時停止按鈕變?yōu)榍辶恪?/p>

二、項目基本配置

新建一個Mainwindow界面?;九渲门c其他Qt項目類似,這里不過多介紹。

三、UI界面設計

UI界面如下:

界面中包含有6個控件,其主要內容如下:

名稱類型屬性
LCDNumberQLCDNumberdigitCount:18
開始QPushButtonobjectName:btn_start
停止QPushButtonobjectName:btn_stop
暫停QPushButtonobjectName:btn_pause
打點QPushButtonobjectName:btn_log
textBrowserQTextBrowser/

【注意:將LCDNumber設置為右對齊的常見設置為:將其digitCount屬性設置為18左右】

布局方式:

四個按鈕布局方式為水平布局,整體的布局方式為垂直布局。

四、主程序實現

4.1 mainwindow.h頭文件

頭文件中聲明五個槽函數,一個定時器對象,一個基本時間對象以及l(fā)cdNumber的時刻值,核心代碼如下:

private slots:
    void updataTimeAndDisplay();
    void on_btn_start_clicked();
    void on_btn_stop_clicked();
    void on_btn_pause_clicked();
    void on_btn_log_clicked();
private:
    QTimer *ptimer;  //定時器對象
    QTime baseTime;  //時間對象——00:00:00
    QString showStr;  //lcdNumber的時刻值    

4.2 mainwindow.cpp源文件

MainWindow主程序代碼為:

ptimer=new QTimer; //初始化對象
connect(ptimer,SIGNAL(timeout()),this,SLOT(updataTimeAndDisplay()));

定義更新和顯示時間函數:

void MainWindow::updataTimeAndDisplay()
{
    QTime current=QTime::currentTime();//獲取系統(tǒng)當前時間
    int t=this->baseTime.msecsTo(current);  //兩者相減的時間之差
    QTime showtime(0,0,0,0);//初始時間
    showtime=showtime.addMSecs(t);//增加tms
    showStr=showtime.toString("hh:mm:ss:zzz"); //轉換為string類型
    ui->lcdNumber->display(showStr);  //顯示
}

定義點擊開始按鈕槽函數:

void MainWindow::on_btn_start_clicked()
{
    baseTime=QTime::currentTime();
    ptimer->start(1);
}

定義點擊停止按鈕槽函數:

void MainWindow::on_btn_stop_clicked()
{
    if(ui->btn_stop->text()=="停止"){
        ptimer->stop();
        ui->btn_stop->setText("清零");
        ui->btn_start->setEnabled(false);//開始按鈕無法點擊
        ui->btn_pause->setEnabled(false);
    }else{
       ui->lcdNumber->display("00:00:00:000") ;//清零
       ui->textBrowser->clear();
       ui->btn_stop->setText("停止");
       ui->btn_start->setEnabled(true);//開始按鈕可以點擊
       ui->btn_pause->setEnabled(true);
    }
}

定義點擊暫停按鈕槽函數:

void MainWindow::on_btn_pause_clicked()
{
    static QTime pauseTime;  //暫停時間【靜態(tài)】
    if(ui->btn_pause->text()=="暫停"){
        pauseTime=QTime::currentTime();//獲取點擊暫停時的當前時間
        ptimer->stop();
        ui->btn_pause->setText("繼續(xù)");
        ui->btn_start->setEnabled(false);//開始按鈕無法點擊
        ui->btn_stop->setEnabled(false);
    }else{
        QTime cut=QTime::currentTime();//繼續(xù)時的時間
        int t=pauseTime.msecsTo(cut);//差值
        baseTime=baseTime.addMSecs(t);  //后延相應的tms繼續(xù)計時
        ptimer->start(1);
        ui->btn_pause->setText("暫停");
        ui->btn_start->setEnabled(true);//開始按鈕可以點擊
        ui->btn_stop->setEnabled(true);
    }
}

定義點擊打點按鈕槽函數:

//打點
void MainWindow::on_btn_log_clicked()
{
    ui->textBrowser->append(showStr);//添加到textBrowser中
}

五、效果演示

以上就是Qt實現簡易計時器的示例代碼的詳細內容,更多關于Qt計時器的資料請關注腳本之家其它相關文章!

相關文章

  • C語言實現推箱子游戲完整代碼

    C語言實現推箱子游戲完整代碼

    這篇文章主要為大家詳細介紹了C語言實現推箱子游戲完整代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C++無痛實現日期類的示例代碼

    C++無痛實現日期類的示例代碼

    凡是要寫類必須要提到六大默認成員(六位大爺):構造函數、析構函數、拷貝構造函數、賦值重載函數、取地址重載函數(包括const對象和普通對象);那么這次的日期類又需要伺候哪幾位大爺呢?本文就來詳細說說
    2022-10-10
  • C++中vector和map的刪除方法(推薦)

    C++中vector和map的刪除方法(推薦)

    下面小編就為大家?guī)硪黄狢++中vector和map的刪除方法(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 原創(chuàng)的C語言控制臺小游戲

    原創(chuàng)的C語言控制臺小游戲

    本文給大家分享的是個人原創(chuàng)設計的一個C語言控制臺小游戲,非常的簡單,但是挺好玩的,推薦給大家,有需要的小伙伴也可以自由擴展下。
    2015-03-03
  • Qt添加MSVC2017編譯器的實現方法

    Qt添加MSVC2017編譯器的實現方法

    Qt添加MSVC2017編譯器是開發(fā)者在Windows平臺上進行Qt應用程序開發(fā)的重要步驟,本文詳細介紹了如何為Qt配置MSVC2017編譯器的具體步驟,感興趣的可以了解一下
    2023-09-09
  • C語言實現家庭理財系統(tǒng)

    C語言實現家庭理財系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現家庭理財系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 詳解C++數組和數組名問題(指針、解引用)

    詳解C++數組和數組名問題(指針、解引用)

    這篇文章主要介紹了詳解C++數組和數組名問題(指針、解引用),指針的實質就是個變量,它跟普通變量沒有任何本質區(qū)別,指針本身是一個對象,同時指針無需在定義的時候賦值,具體內容詳情跟隨小編一起看看吧
    2021-09-09
  • C語言自定義實現strlen函數的3種方法總結

    C語言自定義實現strlen函數的3種方法總結

    這篇文章帶大家了解C語言中自定義實現strlen函數的3種方法,計數器,遞歸以及指針,這三種方法通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • C++卸載程序功能示例

    C++卸載程序功能示例

    用C++寫一個自己的卸載程序來完成程序的卸載工作,同時運行后要刪除卸載程序本身,并刪除卸載程序所在的文件夾
    2013-11-11
  • C語言實現24點游戲源代碼

    C語言實現24點游戲源代碼

    這篇文章主要為大家詳細介紹了C語言實現24點游戲源代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10

最新評論