Qt Qwdget 汽车仪表知识点拆解5 标题栏图标闪烁

简介: 先贴上效果图,注意,没有写逻辑,都是乱动的

image.png


看下最上面的部分,有一些仪表图标在闪烁,如果一个一个写,也是可以实现的,不过感觉要累死的节奏

这里我写了一个我自己的Label,完了把把这些QLabel提升为自己的

在我自己的Label中实现了图标的1Hz闪烁

上实现代码

.H文件中内容

 

#ifndef MQLABEL_H
#define MQLABEL_H
#include <QObject>
#include <QLabel>
#include <QTimer>
class MQlabel : public QLabel
{
    Q_OBJECT
public:
    explicit MQlabel(QWidget *parent = 0);
    void glitter(bool temp = false);
signals:
private slots:
    void timerout_glitter();
private:
    QTimer* timer;
};
#endif // MQLABEL_H

.CPP文件中内容

#include "mqlabel.h"
MQlabel::MQlabel(QWidget *parent) : QLabel(parent)
{
    timer = new QTimer();
    connect(timer,SIGNAL(timeout()),this,SLOT(timerout_glitter()));
}
void MQlabel::glitter(bool temp)
{
    if(temp)
    {
        timer->start(1000);
    }
    else
    {
        timer->stop();
    }
}
void MQlabel::timerout_glitter()
{
    if(this->isHidden())
    {
        this->show();
    }
    else
    {
        this->hide();
    }
}

这样,需要那个label闪烁的时候,就调用那个label的闪烁函数就好了

 

我在主程序中写了一个随机

oid Widget::slot_timerout_titlebar_glitter()
{
    int temp = rand()%7;
    switch (temp)
    {
    case 0:
        ui->label_titlebar_1->glitter(true);
        break;
    case 1:
        ui->label_titlebar_2->glitter(true);
        break;
    case 2:
        ui->label_titlebar_3->glitter(true);
        break;
    case 3:
        ui->label_titlebar_4->glitter(true);
        break;
    case 4:
        ui->label_titlebar_5->glitter(true);
        break;
    case 5:
        ui->label_titlebar_6->glitter(true);
        break;
    case 6:
        ui->label_titlebar_7->glitter(true);
        break;
    default:
        break;
    }
    int temp2 = rand()%7;
    switch (temp2)
    {
    case 0:
        ui->label_titlebar_1->glitter(false);
        break;
    case 1:
        ui->label_titlebar_2->glitter(false);
        break;
    case 2:
        ui->label_titlebar_3->glitter(false);
        break;
    case 3:
        ui->label_titlebar_4->glitter(false);
        break;
    case 4:
        ui->label_titlebar_5->glitter(false);
        break;
    case 5:
        ui->label_titlebar_6->glitter(false);
        break;
    case 6:
        ui->label_titlebar_7->glitter(false);
        break;
    default:
        break;
    }
}


目录
相关文章
|
API 计算机视觉
Qt实用技巧:自定义窗口标题栏
Qt实用技巧:自定义窗口标题栏
Qt实用技巧:自定义窗口标题栏
|
程序员 C++ Windows
Qt多线程分享——你必须知道的进程知识点
Qt多线程分享——你必须知道的进程知识点
|
计算机视觉
Qt实用技巧:仅去掉标题栏,保持对话框边框
Qt实用技巧:仅去掉标题栏,保持对话框边框
Qt隐藏系统标题栏,使用自定义标题栏
Qt隐藏系统标题栏,使用自定义标题栏
Qt隐藏系统标题栏,使用自定义标题栏
QT软件开发:解决隐藏QWidget标题栏后窗体无法移动问题
QT软件开发:解决隐藏QWidget标题栏后窗体无法移动问题
326 0
QT隐藏窗口标题栏、最大化、最小化、关闭按钮
QT隐藏窗口标题栏、最大化、最小化、关闭按钮
935 0
Qt 隐藏标题栏可拖拽,自由缩放
Qt在隐藏标题栏的情况下,实现拖拽很简单,可以看这里https://blog.csdn.net/z609932088/article/details/80865742 或者这里:https://blog.csdn.net/z609932088/article/details/50898022
195 0
Qt 隐藏标题栏可拖拽,自由缩放
Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏
最近也换了公司,也换了新的工作,工资也象征性的涨了一点点,但是最近心里还是慌慌,不知道为什么,没有那种踏实感,感觉自己随时可以被抛弃的感觉。感觉自己在荒废时间,也感觉自己在浪费生命。
241 0
Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏
Qt Qwdget 汽车仪表知识点拆解8 淡入效果
先贴上效果图,注意,没有写逻辑,都是乱动的
74 0
Qt Qwdget 汽车仪表知识点拆解8 淡入效果