zoukankan      html  css  js  c++  java
  • Qt-LCD电子时钟

    先上效果图吧

    就是这个样子,简单的时间显示时间。

    这里需要注意的是,我们最好建立一个空文件,这里我们需要建立一个集成QLCDNumber的类

    具体方法如下图

    一下是源代码

    digiclock.h

    #ifndef DIGICLOCK_H
    #define DIGICLOCK_H
    
    #include <QObject>
    #include <QLCDNumber>
    class DigiClock : public QLCDNumber
    {
        Q_OBJECT
    public:
        DigiClock(QWidget *parent = 0);
        void mousePressEvent(QMouseEvent *event);
        void mouseMoveEvent(QMouseEvent *event);
    private slots:
        void showTime();
    
    private:
        QPoint dragPosition;
        bool showColon;
    };
    
    #endif // DIGICLOCK_H
    

    digiclock.cpp

    #include "digiclock.h"
    #include <QTime>
    #include <QTimer>
    #include <QMouseEvent>
    #include <QString>
    DigiClock::DigiClock(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);
        connect(timer,SIGNAL(timeout()),this,SLOT(showTime()));
        timer->start(1000);
        showTime();
        resize(150,60);
        showColon = true;
    }
    
    void DigiClock::mousePressEvent(QMouseEvent *event)
    {
    
        if(event->button() == Qt::LeftButton)
        {
            dragPosition = event->globalPos()-frameGeometry().topLeft();
            event->accept();
        }
        if(event->button() == Qt::RightButton)
        {
            close();
        }
    }
    
    void DigiClock::mouseMoveEvent(QMouseEvent *event)
    {
        if(event->buttons() & Qt::LeftButton)
        {
            move(event->globalPos() - dragPosition);
            event->accept();
        }
    }
    
    void DigiClock::showTime()
    {
        QTime time = QTime::currentTime();
        QString text = time.toString("hh:mm");
        if(showColon)
        {
            text[2] = ':';
            showColon = false;
        }
        else
        {
            text[2] = ' ';
            showColon = true;
        }
        display(text);
    }

    工程目录:https://gitee.com/DreamLife-Technology_DreamLife/LCDClock

  • 相关阅读:
    idea git 操作
    1
    python 迭代器/生成器/迭代对象
    python 中的type
    systemd 配置文件
    python 中类的初始化过程
    mysql主从错误180301
    从零开始搭建k8s-20180301
    kubernetes role
    Java程序员毕业两年自述
  • 原文地址:https://www.cnblogs.com/DreamDog/p/9159988.html
Copyright © 2011-2022 走看看