亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Qt實現(xiàn)電子時鐘的示例代碼

 更新時間:2022年09月14日 10:00:07   作者:wendy_ya  
這篇文章主要為大家詳細介紹了如何利用Qt實現(xiàn)顯示與桌面上并可以隨意拖拽至桌面任意位置的電子時鐘案例,感興趣的小伙伴可以嘗試一下

一、項目介紹

利用Qt實現(xiàn)顯示與桌面上并可以隨意拖拽至桌面任意位置的電子時鐘案例。

二、項目基本配置

新建一個Qt案例,項目名稱為“Clock”,基類選擇“QDialog”,取消創(chuàng)建UI界面復選框的選中狀態(tài)。

三、UI界面設計

無UI界面

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

4.1 添加新文件

添加新文件:

選擇“C++ Class”選項,單擊“Choose”按鈕,選擇“Base class”文本框中輸入基類名“QLCDNumber”(手動添加),在“Class name”文本框中輸入類的名稱“DigiClock”:

4.2 digiclock.h頭文件

代碼如下:

#ifndef DIGICLOCK_H
#define DIGICLOCK_H

#include <QLCDNumber>

class DigiClock : public QLCDNumber
{
    Q_OBJECT
public:
    DigiClock(QWidget *parent=0);
    void mousePressEvent(QMouseEvent *);
    void mouseMoveEvent(QMouseEvent *);

public slots:
    void showTime();    //顯示當前時間

private:
    QPoint dragPosition;  //保存鼠標點相對電子時鐘窗體左上角的偏移量
    bool showColon;       //用于顯示時間時是否顯示:
};

#endif // DIGICLOCK_H

4.3 digiclock.cpp源文件

首先,DigiClock類繼承自QLCDNumber類:

DigiClock::DigiClock(QWidget *parent):QLCDNumber(parent)
{
//設置時鐘背景
QPalette p=palette();//定義調(diào)色板對象
p.setColor(QPalette::Window,Qt::blue);//設置背景顏色為藍色
setPalette(p);//啟用調(diào)色板對象
setWindowFlags(Qt::FramelessWindowHint);//生成無邊界窗口
setWindowOpacity(0.5);//設置窗體透明度為0.5
QTimer *timer=new QTimer(this);//新建定時器對象
connect(timer,SIGNAL(timeout()),this,SLOT(showTime()));//連接定時器地timeout()信號與顯示時間的槽信號showTime()
timer->start(1000);//啟動定時器(每隔1000ms啟動一次)
showTime();//初始時間顯示
resize(150,60);//設置電子時鐘顯示的尺寸
showColon=true;//初始化

}

然后定義槽函數(shù)showTime(),完成電子鐘的顯示時間功能:

//槽函數(shù)showTime()
void DigiClock::showTime()
{
    QTime time=QTime::currentTime();    //獲取當前系統(tǒng)時間
    QString text=time.toString("hh:mm");//獲取的當前時間轉(zhuǎn)換為字符串類型
    if(showColon)                        //控制:閃爍
    {
        text[2]=':';
        showColon=false;
    }
    else
    {
        text[2]=' ';
        showColon=true;
    }
    display(text);    //顯示轉(zhuǎn)換好的字符串時間
}

接著,定義鼠標按下事件響應函數(shù):

//鼠標按下事件響應函數(shù)
void DigiClock::mousePressEvent(QMouseEvent *event)
{
    if(event->button()==Qt::LeftButton) //判斷按下鍵是否為鼠標左鍵
    {
        //dragPosition=event->globalPos()-frameGeometry().topLeft();
        dragPosition=event->pos();//兩種方法
        //event->accept();//接收事件
    }
    if(event->button()==Qt::RightButton)    //若按下鍵為鼠標右鍵
    {
        close();//退出
    }
}

定義鼠標移動事件響應函數(shù),實現(xiàn)拖拽功能:

//鼠標移動響應函數(shù)
void DigiClock::mouseMoveEvent(QMouseEvent *event)
{
    if(event->buttons()&Qt::LeftButton)
    {
        move(event->globalPos()-dragPosition);
        //event->accept();//接收事件
    }
}

4.4 main.cpp源文件

代碼如下:

#include "dialog.h"
#include <QApplication>
#include"digiclock.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    DigiClock clock;
    clock.show();
//    Dialog w;
//    w.show();
    return a.exec();
}

五、效果演示

到此這篇關(guān)于Qt實現(xiàn)電子時鐘的示例代碼的文章就介紹到這了,更多相關(guān)Qt電子時鐘內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入C++中struct與class的區(qū)別分析

    深入C++中struct與class的區(qū)別分析

    本篇文章是對C++中struct與class的區(qū)別進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++設計模式之CRTP的使用

    C++設計模式之CRTP的使用

    CRTP全稱是curious?recurring?template?pattern,即奇異遞歸模版模式,是一種c++的設計模式,精巧地結(jié)合了繼承和模板編程的技術(shù),下面就跟隨小編一起來學習一下CRTP的使用吧
    2023-10-10
  • 詳解C語言解決經(jīng)典問題之兔子產(chǎn)子

    詳解C語言解決經(jīng)典問題之兔子產(chǎn)子

    有一對兔子,從出生后的第 3 個月起每個月都生一對兔子。小兔子長到第 3 個月后每個月又生一對兔子,假設所有的兔子都不死,問 30 個月內(nèi)每個月的兔子總數(shù)為多少?本文將用C語言解決這一經(jīng)典問題,需要的可以參考一下
    2022-03-03
  • C++單鏈表實現(xiàn)大數(shù)加法

    C++單鏈表實現(xiàn)大數(shù)加法

    這篇文章主要為大家詳細介紹了C++單鏈表實現(xiàn)大數(shù)加法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • c語言如何實現(xiàn)DES加密解密

    c語言如何實現(xiàn)DES加密解密

    這篇文章主要介紹了c語言如何實現(xiàn)DES加密解密問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • C++基于棧的深搜算法實現(xiàn)馬踏棋盤

    C++基于棧的深搜算法實現(xiàn)馬踏棋盤

    這篇文章主要為大家詳細介紹了C++基于棧的深搜算法實現(xiàn)馬踏棋盤,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 解決了個困擾了2天的問題,定點運算問題

    解決了個困擾了2天的問題,定點運算問題

    本文主要講解定點運算問題,需要的朋友可以參考一下。
    2016-06-06
  • VC6.0常見編譯錯誤提示附解決方法

    VC6.0常見編譯錯誤提示附解決方法

    這篇文章主要介紹了VC++6.0編譯過程中常遇到的一些錯誤提示并給出了錯誤原因與分析,需要的朋友尅參考下
    2013-07-07
  • C語言常用的編輯器你知道幾個

    C語言常用的編輯器你知道幾個

    這篇文章主要為大家詳細介紹了C語言常用的編輯器,中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • MFC設置對話框焦點的方法簡述

    MFC設置對話框焦點的方法簡述

    這篇文章主要介紹了MFC設置對話框焦點的方法簡述,主要講述了兩種實現(xiàn)方法,需要的朋友可以參考下
    2014-10-10

最新評論