QT之液晶電子時鐘

? ? ? ? 根據qt的<QLDNumber>做了一個qt液晶電子時鐘.

? ? ? ? 結果

? ? ? ? ? ? ? ? ? 實時顯示當前時間,左鍵可以拖動時鐘在屏幕的位置,右鍵點擊關閉顯示.

????????

? ? ? ? 實現過程

? ? ? ? 新建一個class文件,讓這個文件的父類是QLCDNumber

????????

? ? ? ? 相關功能變量定義和函數實現

? ? ? ? .c文件代碼

? ? ? ? 這里需要注意的一點是event->button是獲取的最后一次點擊,而event->buttons是檢測是否按下,故計算相對位置是使用button,拖動時需要使用buttons

#include "digitalclock.h"
#include<QDebug>
DigitalClock::DigitalClock(QWidget * parent) :QLCDNumber(parent)
{//設置藍色背景QPalette p = palette();//獲取當前的調色板p.setColor(QPalette::Window,Qt::blue);//對窗體設置顏色 藍色setPalette(p);//無邊框窗體風格setWindowFlags(Qt::FramelessWindowHint);//設置窗體的透明度setWindowOpacity(0.5);//定時器QTimer  * timer =  new QTimer(this);//信號槽 定時器時間到 啟動 showtimeconnect(timer,&QTimer::timeout,this,&DigitalClock::showTime);timer->start(1000);//間隔1000ms(1s)showTime();//重置窗口大小resize(150,60);//冒號顯示 flag = truem_showColon = true;
}
//button 是檢測最后一次點擊
void DigitalClock::mousePressEvent(QMouseEvent *event)
{if(event->button() == Qt::LeftButton)//鼠標左鍵{{m_dragPosition = event->globalPos()//鼠標相對于屏幕左上角偏移的位置- frameGeometry().topLeft();//時鐘窗體左上角位置qDebug()<<m_dragPosition;//接受event->accept();}if(event->button() == Qt::RightButton){close();}}
/*
buttons()方法返回的是一個整數,其中每一位代表一個按鈕的狀態。這樣的設計允許同時檢查多個按鈕的狀態。例如,你可以檢查是否同時按下了左鍵和右鍵。
而button()方法通常用于獲取最后一個點擊的按鈕。
所以在這里,為了檢查鼠標左鍵是否被按下,我們使用buttons()方法,并通過位與運算符&來檢查特定的位。
*/void DigitalClock::mouseMoveEvent(QMouseEvent *event)
{if(event->buttons() == Qt::LeftButton){move(event->globalPos() - m_dragPosition);event->accept();}}void DigitalClock::showTime()
{//顯示時間QTime  time = QTime ::currentTime();QString strTime = time.toString("hh:mm");if(m_showColon){strTime[2] = ':';}else{strTime[2] = ' ';}display(strTime);m_showColon = !m_showColon;
}

? ? ? ? ? ?希望對大家有所幫助.? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713085.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713085.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713085.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringMVC自定義視圖解析器

/** * 使用View接口完成請求轉發|重定向 * 解釋: * SpringMVC的官方&#xff0c;提供了一個叫做View的接口&#xff0c;告訴開發人員 * DispatcherServlet底層會調用View接口的實例化對象中的邏輯方法 * 來完成對應的請求轉發和重定向。 * 使用: * 1. 單元方法的返回值為View接…

前臺自動化測試:基于敏捷測試驅動開發(TDD)的自動化測試原理

一、自動化測試概述 自動化測試主要應用到查詢結果的自動化比較&#xff0c;把借助自動化把相同的數據庫數據的相同查詢條件查詢到的結果同理想的數據進行自動化比較或者同已經保障的數據進行不同版本的自動化比較&#xff0c;減輕人為的重復驗證測試。多用戶并發操作需要自動…

【開源】JAVA+Vue.js實現APK檢測管理系統

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 開放平臺模塊2.3 軟件檔案模塊2.4 軟件檢測模塊2.5 軟件舉報模塊 三、系統設計3.1 用例設計3.2 數據庫設計3.2.1 開放平臺表3.2.2 軟件檔案表3.2.3 軟件檢測表3.2.4 軟件舉報表 四、系統展示五、核心代…

pdfpages 宏包和 includepdf 使用問題

在 latex 中插入其他 pdf 文檔的頁時 \usepackage{pdfpages} % 插入 PDF 頁 \includepdf[pages-]{pg276-axi-hbm-en.pdf} 用 xelatex 編譯生成的 pdf 文檔內容會與原文檔內容不一致&#xff0c;文字位置對折等問題。 解決辦法&#xff1a; A 文檔中的某些…

springBoot整合Redis(二、RedisTemplate操作Redis)

Spring-data-redis是spring大家族的一部分&#xff0c;提供了在srping應用中通過簡單的配置訪問redis服務&#xff0c;對reids底層開發包(Jedis, JRedis, and RJC)進行了高度封裝&#xff0c;RedisTemplate提供了redis各種操作、異常處理及序列化&#xff0c;支持發布訂閱&…

Android:BitmapFactory.decodeStream Bitmap的內存優化OutOfMemory異常以后Crash閃退

自己項目中使用如下方法&#xff0c;有的手機上會奔潰報錯&#xff0c;原因是BitmapFactory.decodeStream部分沒有使用options參數改變內存大小 改成如下形式后正常了&#xff1b;正確解決方案&#xff1a;設置inSampleSize 一&#xff09;Android BitmapFactory.decodeStream(…

C++利用匯編挖掘編程語言的本質..

1.謬論 很多非一手的資料特別是中文資料其實并不可靠 因為很多作者都是直接通過轉載他人的作品 也不管他人作品真與假 而且有一部分的作品中的言論和官方描述相去甚遠 有的則是翻譯的過程中出現了問題 比如sizeof很多人認為是一個函數 其實他并不是一個函數 而是一個運算符 是…

【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit

1.問題描述 升級到4.0.0.59版本后&#xff0c;通過pushService.getToken獲取華為的token時報如下錯誤&#xff1a;Illegal application identity. 解決方案 Mate 40 Pro (NOH) 從 4.0升級到4.1版本后&#xff0c;會出現UDID變化&#xff0c;影響歷史的調試簽名使用&#xff…

檔案數字化驗收流程

檔案數字化驗收流程通常包括以下步驟&#xff1a; 1. 確定驗收標準&#xff1a;制定檔案數字化驗收標準&#xff0c;明確要求檢查的內容、質量要求、驗收標準等。 2. 準備驗收環境&#xff1a;為檔案數字化驗收準備合適的環境&#xff0c;包括驗收場所、設備、人員等。 3. 準備…

vscode 引入外部依賴包

背景 我要在vscode中寫一些antlr代碼生成的cpp代碼&#xff0c;但是在引入頭文件#include "antlr4-runtime.h"的時候&#xff0c;出現報錯&#xff0c;顯示沒有這個頭文件&#xff0c;顯然這是我們沒有導入相關的包&#xff0c;因此我首先嘗試了將antlr4的依賴源碼在…

Semantic human matting

1.introduction 數據集包括&#xff0c;時尚模特數據集&#xff0c;超過18.8w張模特圖&#xff0c;從中選出35311張圖片&#xff0c;DIM數據集&#xff0c;僅包含人類的圖像&#xff0c;202個前景圖像&#xff0c;背景來自coco數據集和互聯網&#xff0c;背景圖不含人類&#x…

python 基礎知識點(藍橋杯python科目個人復習計劃56)

今日復習內容&#xff1a;做題 例題1&#xff1a;最小的或運算 問題描述&#xff1a;給定整數a,b&#xff0c;求最小的整數x&#xff0c;滿足a|x b|x&#xff0c;其中|表示或運算。 輸入格式&#xff1a; 第一行包括兩個正整數a&#xff0c;b&#xff1b; 輸出格式&#…

小烏龜操作Git

1、選擇小烏龜作為git客戶端 最近使用idea來操作git的時候頻頻出現問題&#xff0c;要么是提交代碼的時候少了某些文件&#xff0c;導致克隆下來無法運行&#xff0c;要么是提交速度太慢。 反正是在idea中操作git體驗非常不好&#xff0c;所以決定來換一種方式來操作git。從網…

藍橋杯算法題匯總

一.線性表&#xff1a;鏈式 例題&#xff1a;旋轉鏈表 二.棧&#xff1a; 例題&#xff1a;行星碰撞問題 三.隊列 三.數組和矩陣 例題&#xff1a;

FPGA-VGA成像原理與時序

什么是VGA: VGA, Video Graphics Array。即視頻圖形陣列,具有分辨率高、顯示速率快、顏色豐富等優點。VGA接口不但是CRT顯示設備的標準接口,同樣也是LCD液晶顯示設備的標準接口,具有廣泛的應用范圍。在FGPA中,常廣泛用于圖像處理等領域。 VGA 顯示器成像原理 在 VGA 標準剛興…

C語言 vs Rust應該學習哪個?

C語言 vs Rust應該學習哪個&#xff1f; 在開始前我有一些資料&#xff0c;是我根據網友給的問題精心整理了一份「C語言的資料從專業入門到高級教程」&#xff0c; 點個關注在評論區回復“888”之后私信回復“888”&#xff0c;全部無償共享給大家&#xff01;&#xff01;&am…

bun 文件類型

Typescript Bun 原生支持開箱即用的 TypeScript。所有文件在執行之前都由 Bun 的快速本機轉譯器即時轉譯。與其他構建工具類似&#xff0c;Bun 不執行類型檢查;它只是從文件中刪除類型注釋。 bun index.js bun index.jsx bun index.ts bun index.tsxBun 運行時行為的某些方面…

linux系統如何安裝nginx

首先下載nginx安裝包 wget -c http://nginx.org/download/nginx-1.23.1.tar.gz然后解壓安裝包 tar -zxvf nginx-1.23.1.tar.gz如果服務器沒有wget&#xff0c;可以安裝一下&#xff0c;有的話可以跳過 yum install -y wget 然后安裝相關依賴 yum install -y gcc-c zlib zl…

最新企微hook開源版

免費的企微框架 支持文本消息&#xff0c;圖片消息&#xff0c;視頻消息&#xff0c;文件消息。 其他可自行下載測試。 有興趣可以進群交流。720192224 。群內不定期開源氣味hook源碼 BOOL WxWorkSendData(string data) { WX_GETOBJDATA obj { 0 }; //參數結構…

MATLAB練習題:排隊論問題的模擬

?講解視頻&#xff1a;可以在bilibili搜索《MATLAB教程新手入門篇——數學建模清風主講》。? MATLAB教程新手入門篇&#xff08;數學建模清風主講&#xff0c;適合零基礎同學觀看&#xff09;_嗶哩嗶哩_bilibili 下面我們來看一道排隊論的題目。假設某銀行工作時間內只有一個…