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);

}

//效果:

相关推荐
_周游2 小时前
【C语言】_指针与数组
c语言·开发语言
陌然。。2 小时前
【701. 二叉搜索树中的插入操作 中等】
数据结构·c++·算法·leetcode·深度优先
Ritsu栗子2 小时前
代码随想录算法训练营day25
c++·算法
SyntaxSage2 小时前
Scala语言的数据库交互
开发语言·后端·golang
疯狂小料3 小时前
Python3刷算法来呀,贪心系列题单
开发语言·python·算法
码力全開3 小时前
C 语言奇幻之旅 - 第14篇:C 语言高级主题
服务器·c语言·开发语言·人工智能·算法
lsx2024063 小时前
PHP Array:精通数组操作
开发语言
Milk夜雨3 小时前
C++ 数据结构与算法——寻找最大素数因子的整数
数据结构·c++·算法
三次元1113 小时前
JS中函数基础知识之查漏补缺(写给小白的学习笔记)
开发语言·前端·javascript·笔记·ecmascript·原型模式
武昌库里写JAVA3 小时前
Redis奇幻之旅(四)4. Redis Cluster
java·开发语言·spring boot·学习·课程设计