Qt-LCD电子时钟
【摘要】
先上效果图吧
就是这个样子,简单的时间显示时间。
这里需要注意的是,我们最好建立一个空文件,这里我们需要建立一个集成QLCDNumber的类
具体方法如下图
一下是源代码
digiclock.h
#ifndef DIGICLOCK_H#define DIGICLOCK_H #include <QObject&g...
先上效果图吧
就是这个样子,简单的时间显示时间。
这里需要注意的是,我们最好建立一个空文件,这里我们需要建立一个集成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
文章来源: dreamlife.blog.csdn.net,作者:DreamLife.,版权归原作者所有,如需转载,请联系作者。
原文链接:dreamlife.blog.csdn.net/article/details/79381784
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)