…
#include "clock.h"
#include <QApplication>
#include "diglraclock.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
DiglraClock w;
w.show();
return a.exec();
}
#include "diglraclock.h"
#include <QTimer>
#include <QTime>
#include <QMouseEvent>
DiglraClock::DiglraClock(QWidget *parent):QLCDNumber(parent)
{
QPalette p = palette(); //获取调色板
p.setColor(QPalette::Window,Qt::white); //设置颜色 当前窗口 白色
setWindowFlag(Qt::FramelessWindowHint); //无边框窗口
setWindowOpacity(0.4);
QTimer *timer = new QTimer(this);
connect(timer,&QTimer::timeout,this,&DiglraClock::showTime);
timer->start(1000);
showTime();
resize(160,60);
m_showColon = true;
}
void DiglraClock::mousePressEvent(QMouseEvent *event)
{
// 鼠标按下按钮 左键
if(event->buttons() == Qt::LeftButton){
//鼠标相对屏幕左上角位置
m_dragPosition = event->globalPos() - frameGeometry().topLeft(); // 时钟左上角位置
event->accept(); //接受
}
}
void DiglraClock::mouseMoveEvent(QMouseEvent *event)
{
// 鼠标按下按钮 左键
if(event->buttons() & Qt::LeftButton){
move(event->globalPos() - m_dragPosition);
event->accept();
}
//鼠标 按下按钮 右键
if(event->buttons() == Qt::RightButton)
close(); //关闭窗口
}
void DiglraClock::showTime()
{
QTime time = QTime::currentTime(); //获取当前时间
QString strtime = time.toString("hh:mm"); //转换
//时钟 : 一闪一闪的
if(m_showColon){
strtime[2] = ':';
}else{
strtime[2] = ' ';
}
display(strtime);
m_showColon = !m_showColon; //取反实现 闪烁 :
}
}