日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT自制秒表计时器、可获取电脑时间

發(fā)布時間:2023/12/8 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT自制秒表计时器、可获取电脑时间 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

自制秒表


功能 :

  • 開始
  • 停止
  • 打點
  • 重置
  • 顯示電腦當(dāng)前日期與時間
  • 界面

    界面總共包含三種控件:

  • Label
  • Push Button
  • Text Browser
    三種控件分別用于以下顯示:

  • 3.

    代碼

    .h頭文件

    #include <QTimer>//添加倆個頭文件,一個是定時器,一個是時間控制 #include <QTime>class Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();QTime time;//添加三個對象,一個時間 ,兩個定時器QTimer timer;QTimer current_timer;private slots:void on_startBt_clicked();//開始按鈕的槽函數(shù)void timerout_slot();//兩個定時器觸發(fā)的槽函數(shù)void currenttimerout_slot();void on_stopBt_clicked();void on_chongzhiBt_clicked();void on_dadianBt_clicked();private:Ui::Widget *ui; };

    .cpp源文件

    int jishu = 0; Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);connect(&timer, SIGNAL(timeout()), this, SLOT(timerout_slot()));//創(chuàng)建定時器的觸發(fā)槽函數(shù)連接,用于獲取秒表延時connect(&current_timer, SIGNAL(timeout()), this, SLOT(currenttimerout_slot()));//創(chuàng)建定時器的觸發(fā)槽函數(shù)連接,用于獲取電腦時間的延時current_timer.start(1000);//1s鐘觸發(fā)一次time.setHMS(0,0,0);//設(shè)置時間ui->timeLb->setText("00:00:00:000");//顯示計時器數(shù)據(jù) }Widget::~Widget() {delete ui; } void Widget::currenttimerout_slot()//獲取電腦時間并顯示出來 {QDateTime UTC(QDateTime::currentDateTimeUtc());QDateTime local(UTC.toLocalTime());ui->ctimeLb->setText(local.toString("yyyy.MM.dd hh:mm:ss"));} void Widget::timerout_slot()//秒表時間控制 {//qDebug("ha");time = time.addMSecs(1);ui->timeLb->setText(time.toString("hh:mm:ss.zzz")); } void Widget::on_startBt_clicked()//啟動定時器 {timer.start(1);//ms定時器}void Widget::on_stopBt_clicked() {timer.stop(); }void Widget::on_chongzhiBt_clicked()//重置清除打點數(shù)據(jù) {time.setHMS(0, 0, 0);ui->timeLb->setText(time.toString("hh:mm:ss.zzz"));jishu = 0;ui->jiluTb->clear(); }void Widget::on_dadianBt_clicked()//打點,時間顯示 {QString timp;jishu++;timp.sprintf("%2d.%s",jishu,time.toString("hh:mm:ss.zzz").toLatin1().data());//將Qstring* --> char*ui->jiluTb->append(timp); }

    巧妙的代碼

    使用Text Browser控件時,顯示數(shù)據(jù)是QString 類型的,使用append()對數(shù)進行追加顯示,每次追加完成之后都會進行換行,如果顯示在同一行就需要一個追加,上邊采用的代碼是:

    timp.sprintf(“%2d.%s”,jishu,time.toString(“hh:mm:ss.zzz”).toLatin1().data());

    QString ——>char * 類型的轉(zhuǎn)換
    time.toString(“hh:mm:ss.zzz”).toLatin1().data()
    time:時間的類
    time.toString(“hh:mm:ss.zzz”):將時間取出來,得到指定格式的時間,是Qstring 類型

    源代碼下載

    https://download.csdn.net/download/qq_30255657/85795043

    總結(jié)

    以上是生活随笔為你收集整理的QT自制秒表计时器、可获取电脑时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。