0
点赞
收藏
分享

微信扫一扫

MySQL 多表查询 连接查询 内连接

书坊尚 03-02 13:00 阅读 2

        根据qt的<QLDNumber>做了一个qt液晶电子时钟.

        结果

                  实时显示当前时间,左键可以拖动时钟在屏幕的位置,右键点击关闭显示.

        

        实现过程

        新建一个class文件,让这个文件的父类是QLCDNumber

        

        相关功能变量定义和函数实现

        .c文件代码

        这里需要注意的一点是event->button是获取的最后一次点击,而event->buttons是检测是否按下,故计算相对位置是使用button,拖动时需要使用buttons

#include "digitalclock.h"
#include<QDebug>
DigitalClock::DigitalClock(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);
    //信号槽 定时器时间到 启动 showtime
    connect(timer,&QTimer::timeout,this,&DigitalClock::showTime);
    timer->start(1000);//间隔1000ms(1s)

    showTime();
    //重置窗口大小
    resize(150,60);
    //冒号显示 flag = true
    m_showColon = true;
}
//button 是检测最后一次点击
void DigitalClock::mousePressEvent(QMouseEvent *event)
{
    if(event->button() == Qt::LeftButton)//鼠标左键{
    {
        m_dragPosition = event->globalPos()//鼠标相对于屏幕左上角偏移的位置
       - frameGeometry().topLeft();//时钟窗体左上角位置
        qDebug()<<m_dragPosition;
        //接受
        event->accept();
    }
    if(event->button() == Qt::RightButton){
        close();
    }

}
/*
buttons()方法返回的是一个整数,其中每一位代表一个按钮的状态。这样的设计允许同时检查多个按钮的状态。例如,你可以检查是否同时按下了左键和右键。
而button()方法通常用于获取最后一个点击的按钮。
所以在这里,为了检查鼠标左键是否被按下,我们使用buttons()方法,并通过位与运算符&来检查特定的位。
*/

void DigitalClock::mouseMoveEvent(QMouseEvent *event)
{

    if(event->buttons() == Qt::LeftButton){
       move(event->globalPos() - m_dragPosition);
       event->accept();
    }

}

void DigitalClock::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;
}

           希望对大家有所帮助.   

举报

相关推荐

0 条评论