QT c++ 样式 设置 标签(QLabel)的渐变色美化

上一篇文章中描述了按钮的纯色,本文描述标签的渐变色美化

1.头文件

#ifndef WIDGET_H

#define WIDGET_H

#include <QWidget>

//#include "CustomButton.h"
#include <QVBoxLayout>
#include <QLinearGradient>
#include <QLabel>
#include <QTimer>

QT_BEGIN_NAMESPACE

namespace Ui {

class Widget;

}

QT_END_NAMESPACE

class Widget : public QWidget

{

Q_OBJECT

public:

Widget(QWidget *parent = nullptr);

~Widget();

void initUI();

private:

Ui::Widget *ui;

// CustomButton *button;

// QPushButton *button2;

QLabel *label;

QTimer *timer;

int counter=0;//计时器

};

2.cpp文件

#include "widget.h"

#include "ui_widget.h"

Widget::Widget(QWidget *parent)

: QWidget(parent)

, ui(new Ui::Widget)

{

ui->setupUi(this);

initUI();

}

Widget::~Widget()

{

delete ui;

}

void Widget::initUI()

{

QVBoxLayout * mainlayout = new QVBoxLayout(this);//指定布局属于啥组件

QLabel *label=new QLabel(this);

timer=new QTimer(this);

timer->start(1000);//定时1秒

QObject::connect(timer, &QTimer::timeout,

**label,this**()//lambda函数

{ counter++ ;

if(1==counter%2 )

//qDebug("pressed!");

{

label->setStyleSheet(" border-radius: 15px;"

"border: 2px solid rgb(100, 120, 100); "

"background-color: qlineargradient(x1: 0, y1: 0,"

" x2: 1, y2: 1, "

"stop: 0 #ffffff,"

"stop: 0.3 #bbeebb,"

"stop: 1 #4f4f4f);"

);//暗

}

else

{

label->setStyleSheet(" border-radius: 15px;"

"border: 2px solid rgb(100, 120, 100); "

"background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, "

"stop: 0 #ffffff,"

"stop: 0.3 #43ff43,"

"stop: 1 #669066);"

);//亮绿色

}

});

label->setFixedWidth(30);
label->setFixedHeight(30);

mainlayout->addWidget(label);//指定布局包含啥组件

this->setLayout(mainlayout);

}

//效果:

相关推荐
多加点辣也没关系1 小时前
JavaScript|第4章:类型转换
开发语言·javascript
聪慧的水蜜桃1 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#
yqcoder1 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript
山登绝顶我为峰 3(^v^)31 小时前
C/C++ 交叉编译方法
java·c语言·c++
wuqingshun3141592 小时前
重写equals而不重写hashCode,会出什么问题?
java·开发语言
飞猪~2 小时前
LangChain python 版本 第一集
开发语言·python·langchain
李燚4 小时前
Go 项目怎么组织:DDD 4 层 vs MVC vs 脚本式
开发语言·golang·mvc·ddd·agent框架·eino
2zcode4 小时前
免费开源项目文档:基于MATLAB图像处理的啤酒瓶口缺陷检测系统设计与实现
开发语言·图像处理·matlab
人工智能时代 准备好了吗5 小时前
AI回答内容进入率监测:引用识别、文本匹配与语义判断
开发语言·人工智能·python
LONGZETECH5 小时前
新能源汽车动力电池检测仿真教学系统:C/S 分层架构与数字化实训落地全解析
大数据·c语言·开发语言·人工智能·架构·系统架构·汽车