亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

詳解QTimer與QTime如何實現電子時鐘

發布時間:2020-07-20 16:10:57 來源:億速云 閱讀:294 作者:小豬 欄目:編程語言

小編這次要給大家分享的是詳解QTimer與QTime如何實現電子時鐘,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

使用QLCDNumber控件進行顯示

QLCDNumber控件默認只顯示5個字符,可以使用setDigitCount(int size)進行設置顯示個數

使用Display(QString str) 設置顯示內容

該函數擁有多個重載,字符 整型 浮點型都可以作為參數 

效果圖:

 詳解QTimer與QTime如何實現電子時鐘

代碼:頭文件

#include <QLCDNumber>
 
class NumClock : public QLCDNumber
{
 Q_OBJECT
public:
 explicit NumClock(QWidget *parent = nullptr);
 void mousePressEvent(QMouseEvent *event);
 void mouseMoveEvent(QMouseEvent *event);
 
signals:
 
public slots:
 void updateTime();
 
private:
 QTimer * timer;
 QPoint mouseOfPonit; // 鼠標坐標跟窗口左上角坐標的偏移值
 bool showColon;    //是否顯示:
};

cpp文件:

#include "numclock.h"
#include <QTimer>
#include <QTime>
#include <QMouseEvent>
#include <QDebug>
 
NumClock::NumClock(QWidget *parent) : QLCDNumber(parent)
{
 timer = new QTimer(this);
 timer->setTimerType(Qt::PreciseTimer); // 設置精度為較高精度,差距在毫秒內
 timer->start(1000);
 connect(timer, SIGNAL(timeout()), this, SLOT(updateTime()),Qt::QueuedConnection);
 
 setWindowFlag(Qt::FramelessWindowHint); //沒有面板邊框標題欄的窗體
 setWindowOpacity(0.5); //設置窗口的透明度
 
 showColon = true;
 
 this->setDigitCount(8);
 resize(150, 100);
 
 updateTime();
 
 
 setAttribute(Qt::WA_DeleteOnClose);
}
 
void NumClock::mousePressEvent(QMouseEvent *event)
{
 if(event->button() == Qt::LeftButton){
  mouseOfPonit = event->globalPos() - this->pos();
  event->accept();
 }else{
  close();
 }
}
 
void NumClock::mouseMoveEvent(QMouseEvent *event)
{
 if(event->buttons() & Qt::LeftButton){
  move(event->globalPos() - mouseOfPonit);
  event->accept();
 }
}
 
void NumClock::updateTime()
{
 QString timeStr = QTime::currentTime().toString("hh:mm:ss");
 if(showColon){
  timeStr = timeStr.replace(QString(":"), QString(" "));
  qDebug() << timeStr;
  showColon = false;
 }else{
  timeStr = timeStr.replace(QString(" "), QString(":"));
  showColon = true;
  qDebug() << timeStr;
 }
 display(timeStr);
}

看完這篇關于詳解QTimer與QTime如何實現電子時鐘的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

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

AI

白河县| 交口县| 安远县| 宿松县| 安塞县| 常德市| 大姚县| 柳州市| 三穗县| 文水县| 名山县| 辽阳县| 固镇县| 岳阳县| 九江市| 江源县| 广汉市| 博白县| 河源市| 樟树市| 隆子县| 和静县| 平果县| 辉南县| 始兴县| 石狮市| 新营市| 宁都县| 长丰县| 云安县| 扶风县| 鄂托克前旗| 确山县| 乡城县| 剑河县| 永福县| 石棉县| 紫金县| 舒城县| 大安市| 东乌珠穆沁旗|