91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

詳解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

泸州市| 无为县| 凭祥市| 阜南县| 长治县| 调兵山市| 保康县| 华阴市| 西乌珠穆沁旗| 张家川| 库伦旗| 乌什县| 常宁市| 阳城县| 江津市| 承德县| 济源市| 定州市| 普宁市| 南岸区| 楚雄市| 绵阳市| 永定县| 长汀县| 凤阳县| 保定市| 泾川县| 鹿邑县| 扎鲁特旗| 府谷县| 佛山市| 深泽县| 盐边县| 包头市| 大埔县| 方山县| 汉川市| 黔南| 辽阳县| 寿光市| 行唐县|