最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt實(shí)現(xiàn)簡(jiǎn)易計(jì)時(shí)器的示例代碼

 更新時(shí)間:2022年06月16日 15:07:12   作者:wendy_ya  
計(jì)時(shí)器實(shí)現(xiàn)四個(gè)功能:開(kāi)始計(jì)時(shí)、停止計(jì)時(shí)、暫停計(jì)時(shí)以及打點(diǎn)。當(dāng)點(diǎn)擊暫停時(shí),開(kāi)始按鈕和停止按鈕無(wú)法點(diǎn)擊。當(dāng)點(diǎn)擊停止時(shí),開(kāi)始按鈕和暫停按鈕無(wú)法點(diǎn)擊,此時(shí)停止按鈕變?yōu)榍辶?。本文將用Qt實(shí)現(xiàn)這樣的一個(gè)計(jì)時(shí)器,需要的可以參考一下

一、項(xiàng)目介紹

計(jì)時(shí)器實(shí)現(xiàn)四個(gè)功能:開(kāi)始計(jì)時(shí)、停止計(jì)時(shí)、暫停計(jì)時(shí)以及打點(diǎn)。當(dāng)點(diǎn)擊暫停時(shí),開(kāi)始按鈕和停止按鈕無(wú)法點(diǎn)擊,此時(shí)暫停按鈕變?yōu)槔^續(xù)。當(dāng)點(diǎn)擊停止時(shí),開(kāi)始按鈕和暫停按鈕無(wú)法點(diǎn)擊,此時(shí)停止按鈕變?yōu)榍辶恪?/p>

二、項(xiàng)目基本配置

新建一個(gè)Mainwindow界面?;九渲门c其他Qt項(xiàng)目類似,這里不過(guò)多介紹。

三、UI界面設(shè)計(jì)

UI界面如下:

界面中包含有6個(gè)控件,其主要內(nèi)容如下:

名稱類型屬性
LCDNumberQLCDNumberdigitCount:18
開(kāi)始QPushButtonobjectName:btn_start
停止QPushButtonobjectName:btn_stop
暫停QPushButtonobjectName:btn_pause
打點(diǎn)QPushButtonobjectName:btn_log
textBrowserQTextBrowser/

【注意:將LCDNumber設(shè)置為右對(duì)齊的常見(jiàn)設(shè)置為:將其digitCount屬性設(shè)置為18左右】

布局方式:

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

四、主程序?qū)崿F(xiàn)

4.1 mainwindow.h頭文件

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

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;  //定時(shí)器對(duì)象
    QTime baseTime;  //時(shí)間對(duì)象——00:00:00
    QString showStr;  //lcdNumber的時(shí)刻值    

4.2 mainwindow.cpp源文件

MainWindow主程序代碼為:

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

定義更新和顯示時(shí)間函數(shù):

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

定義點(diǎn)擊開(kāi)始按鈕槽函數(shù):

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

定義點(diǎn)擊停止按鈕槽函數(shù):

void MainWindow::on_btn_stop_clicked()
{
    if(ui->btn_stop->text()=="停止"){
        ptimer->stop();
        ui->btn_stop->setText("清零");
        ui->btn_start->setEnabled(false);//開(kāi)始按鈕無(wú)法點(diǎn)擊
        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);//開(kāi)始按鈕可以點(diǎn)擊
       ui->btn_pause->setEnabled(true);
    }
}

定義點(diǎn)擊暫停按鈕槽函數(shù):

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

定義點(diǎn)擊打點(diǎn)按鈕槽函數(shù):

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

五、效果演示

以上就是Qt實(shí)現(xiàn)簡(jiǎn)易計(jì)時(shí)器的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Qt計(jì)時(shí)器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C/C++ 左移<<, 右移>>的作用及說(shuō)明

    C/C++ 左移<<, 右移>>的作用及說(shuō)明

    這篇文章主要介紹了C/C++ 左移<<, 右移>>的作用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C語(yǔ)言不使用strcpy函數(shù)如何實(shí)現(xiàn)字符串復(fù)制功能

    C語(yǔ)言不使用strcpy函數(shù)如何實(shí)現(xiàn)字符串復(fù)制功能

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言不使用strcpy函數(shù)如何實(shí)現(xiàn)字符串復(fù)制功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單貪吃蛇小游戲

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C語(yǔ)言中scanf的用法舉例

    C語(yǔ)言中scanf的用法舉例

    本節(jié)介紹輸入函數(shù)?scanf?的用法,scanf?和?printf?一樣,非常重要,而且用得非常多,所以一定要掌握,這篇文章主要介紹了C++中scanf的用法舉例,需要的朋友可以參考下
    2022-11-11
  • 詳解C++實(shí)現(xiàn)匈牙利算法

    詳解C++實(shí)現(xiàn)匈牙利算法

    匈牙利算法是一種在多項(xiàng)式時(shí)間內(nèi)求解任務(wù)分配問(wèn)題的組合優(yōu)化算法,并推動(dòng)了后來(lái)的原始對(duì)偶方法。美國(guó)數(shù)學(xué)家哈羅德·庫(kù)恩于1955年提出該算法。此算法之所以被稱作匈牙利算法,是因?yàn)樗惴ê艽笠徊糠质腔谝郧靶傺览麛?shù)學(xué)家Dénes K&#337;nig和Jen&#337; Egerváry的工作之上創(chuàng)建起來(lái)的
    2021-06-06
  • C語(yǔ)言中互斥鎖與自旋鎖及原子操作使用淺析

    C語(yǔ)言中互斥鎖與自旋鎖及原子操作使用淺析

    今天不整GO語(yǔ)言,我們來(lái)分享一下以前寫(xiě)的C語(yǔ)言代碼,來(lái)看看互斥鎖、自旋鎖和原子操作的demo,示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2023-01-01
  • C++Zip壓縮解壓縮示例(支持遞歸壓縮)

    C++Zip壓縮解壓縮示例(支持遞歸壓縮)

    C++Zip壓縮解壓縮示例,用第三方函數(shù)封裝而成,支持 UNCODE, ANSCII、支持壓縮文件夾、支持遞歸壓縮
    2013-11-11
  • C語(yǔ)言中指針常量和常量指針的區(qū)別

    C語(yǔ)言中指針常量和常量指針的區(qū)別

    本文主要介紹了C語(yǔ)言中指針常量和常量指針的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 深入C語(yǔ)言把文件讀入字符串以及將字符串寫(xiě)入文件的解決方法

    深入C語(yǔ)言把文件讀入字符串以及將字符串寫(xiě)入文件的解決方法

    本篇文章是對(duì)C語(yǔ)言把文件讀入字符串以及將字符串寫(xiě)入文件的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++實(shí)現(xiàn)LeetCode(91.解碼方法)

    C++實(shí)現(xiàn)LeetCode(91.解碼方法)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(91.解碼方法),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

离岛区| 年辖:市辖区| 大方县| 彰武县| 梁河县| 湄潭县| 曲靖市| 浦县| 广东省| 济宁市| 济宁市| 临漳县| 延长县| 新化县| 林周县| 乌兰县| 武鸣县| 潢川县| 桃园市| 上高县| 昌平区| 萝北县| 延寿县| 买车| 门头沟区| 巴彦县| 唐山市| 法库县| 盐城市| 唐海县| 石渠县| 鄱阳县| 吴忠市| 天峻县| 中超| 无极县| 高要市| 浮山县| 长海县| 濮阳县| 余江县|