您的位置:首页 > 编程语言 > Qt开发

Qt-LCD电子时钟

2018-02-26 21:16 495 查看
先上效果图吧



就是这个样子,简单的时间显示时间。
这里需要注意的是,我们最好建立一个空文件,这里我们需要建立一个集成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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: