最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、項(xiàng)目介紹

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

二、項(xiàng)目基本配置

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

三、UI界面設(shè)計(jì)

無(wú)UI界面

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

4.1 添加新文件

添加新文件:

選擇“C++ Class”選項(xiàng),單擊“Choose”按鈕,選擇“Base class”文本框中輸入基類(lèi)名“QLCDNumber”(手動(dòng)添加),在“Class name”文本框中輸入類(lèi)的名稱“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();    //顯示當(dāng)前時(shí)間

private:
    QPoint dragPosition;  //保存鼠標(biāo)點(diǎn)相對(duì)電子時(shí)鐘窗體左上角的偏移量
    bool showColon;       //用于顯示時(shí)間時(shí)是否顯示:
};

#endif // DIGICLOCK_H

4.3 digiclock.cpp源文件

首先,DigiClock類(lèi)繼承自QLCDNumber類(lèi):

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

}

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

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

接著,定義鼠標(biāo)按下事件響應(yīng)函數(shù):

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

定義鼠標(biāo)移動(dòng)事件響應(yīng)函數(shù),實(shí)現(xiàn)拖拽功能:

//鼠標(biāo)移動(dòng)響應(yīng)函數(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實(shí)現(xiàn)電子時(shí)鐘的示例代碼的文章就介紹到這了,更多相關(guān)Qt電子時(shí)鐘內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C/C++判斷傳入的UTC時(shí)間是否當(dāng)天的實(shí)現(xiàn)方法

    C/C++判斷傳入的UTC時(shí)間是否當(dāng)天的實(shí)現(xiàn)方法

    在項(xiàng)目中經(jīng)常會(huì)顯示一個(gè)時(shí)間,如果這個(gè)時(shí)間在今日內(nèi)就顯示為時(shí)分秒,否則顯示為年月日,有需要的朋友可以參考一下
    2014-01-01
  • 一篇文章帶你入門(mén)C語(yǔ)言:操作符

    一篇文章帶你入門(mén)C語(yǔ)言:操作符

    這篇文章主要介紹了C語(yǔ)言中的運(yùn)算符,文中講解非常詳細(xì),適合初學(xué)小白進(jìn)行學(xué)習(xí),想入門(mén)C語(yǔ)言的朋友不妨了解下,希望能給你帶來(lái)幫助
    2021-08-08
  • C語(yǔ)言編程中常見(jiàn)的五種錯(cuò)誤及對(duì)應(yīng)解決方案

    C語(yǔ)言編程中常見(jiàn)的五種錯(cuò)誤及對(duì)應(yīng)解決方案

    這篇文章主要給大家分享的是C語(yǔ)言編程中常見(jiàn)的五種錯(cuò)誤及對(duì)應(yīng)解決方案,詳細(xì)內(nèi)容就請(qǐng)跟小編一起進(jìn)入下面的文章內(nèi)容吧
    2021-10-10
  • C++之std命名空間

    C++之std命名空間

    這篇文章主要介紹了C++之std命名空間使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++簡(jiǎn)單實(shí)現(xiàn)RPC網(wǎng)絡(luò)通訊的示例詳解

    C++簡(jiǎn)單實(shí)現(xiàn)RPC網(wǎng)絡(luò)通訊的示例詳解

    RPC是遠(yuǎn)程調(diào)用系統(tǒng)簡(jiǎn)稱,它允許程序調(diào)用運(yùn)行在另一臺(tái)計(jì)算機(jī)上的過(guò)程,就像調(diào)用本地的過(guò)程一樣。本文將用C++簡(jiǎn)單實(shí)現(xiàn)RPC網(wǎng)絡(luò)通訊,感興趣的可以了解一下
    2023-04-04
  • C語(yǔ)言線性表的順序表示與實(shí)現(xiàn)實(shí)例詳解

    C語(yǔ)言線性表的順序表示與實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要介紹了C語(yǔ)言線性表的順序表示與實(shí)現(xiàn)實(shí)例詳解,對(duì)于學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的朋友很有參考借鑒價(jià)值,需要的朋友可以參考下
    2014-07-07
  • 餐館點(diǎn)菜系統(tǒng)C語(yǔ)言源代碼

    餐館點(diǎn)菜系統(tǒng)C語(yǔ)言源代碼

    這篇文章主要為大家詳細(xì)介紹了餐館點(diǎn)菜系統(tǒng)C語(yǔ)言源代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++ 中回文數(shù)判斷簡(jiǎn)單實(shí)例

    C++ 中回文數(shù)判斷簡(jiǎn)單實(shí)例

    這篇文章主要介紹了C++ 中回文數(shù)判斷簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C++深入學(xué)習(xí)之徹底理清重載函數(shù)匹配

    C++深入學(xué)習(xí)之徹底理清重載函數(shù)匹配

    C++ 不允許變量重名,但是允許多個(gè)函數(shù)取相同的名字,只要參數(shù)表不同即可,這叫作函數(shù)的重載,下面這篇文章主要給大家介紹了關(guān)于C++深入學(xué)習(xí)之徹底理清重載函數(shù)匹配的相關(guān)資料,需要的朋友可以參考下
    2019-01-01
  • C語(yǔ)言數(shù)據(jù)存儲(chǔ)歸類(lèi)介紹

    C語(yǔ)言數(shù)據(jù)存儲(chǔ)歸類(lèi)介紹

    使用編程語(yǔ)言進(jìn)行編程時(shí),需要用到各種變量來(lái)存儲(chǔ)各種信息。變量保留的是它所存儲(chǔ)的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會(huì)在內(nèi)存中保留一些空間。您可能需要存儲(chǔ)各種數(shù)據(jù)類(lèi)型的信息,操作系統(tǒng)會(huì)根據(jù)變量的數(shù)據(jù)類(lèi)型,來(lái)分配內(nèi)存和決定在保留內(nèi)存中存儲(chǔ)什么
    2022-08-08

最新評(píng)論

凭祥市| 万宁市| 从江县| 阳谷县| 华池县| 普陀区| 通辽市| 武威市| 桑日县| 海盐县| 东丰县| 尖扎县| 马公市| 东莞市| 长子县| 临高县| 屏边| 泸州市| 德兴市| 木里| 平顶山市| 德惠市| 宝鸡市| 濮阳县| 昌平区| 吴川市| 柳林县| 沙洋县| 贵德县| 新河县| 漯河市| 张家界市| 定兴县| 郁南县| 牙克石市| 长泰县| 随州市| 乐业县| 长沙市| 保康县| 正阳县|