当前位置: 首页 > article >正文

QT c++ 按钮 样式 设置按下和松开的背景颜色

上一篇文章,需要自定义类,本文使用样式设置按下和松开的背景颜色。

1.头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
//#include "CustomButton.h"
#include <QVBoxLayout>
//#include <QLinearGradient>
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;

};
#endif // WIDGET_H

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);//指定布局属于啥组件
  

        QPushButton *button2=new QPushButton(this)  ;
        button2->setStyleSheet("background-color:#dddddd");//初始背景颜色
        QObject::connect(button2, &QPushButton::pressed,
                           [button2]()//lambda函数
                            {
                             //qDebug("pressed!");
            button2->setStyleSheet("background-color:#00ff00");
                             });
        QObject::connect(button2, &QPushButton::released,
                         [button2]()//lambda函数
                         { button2->setStyleSheet("background-color:#eeeeee");
                             //qDebug("released!");
                         });

   this->setLayout(mainlayout);
}
 


http://www.kler.cn/a/469718.html

相关文章:

  • Flink如何设置合理的并行度
  • 修改原生组件InlineDialog设置其下拉框支持滚动效果
  • x86霸权难动摇!
  • OpenGl(四) 提升Shader性能--VBO、EBO、VAO之VBO
  • Python版本变更历史及版本选择指南
  • 大风车excel:如何题库批量导入excel?批量导入excel
  • 数据库_解决SQL Server数据库log日志过大,清理日志文件方法
  • 『SQLite』常见数据类型(动态类型系统)
  • 2025年Stable Diffusion安装教程(超详细)
  • 使用docker 通过lobechat部署ollama中的模型
  • jenkins 使用 ssh-agent向windows进行部署
  • 【2024最新】基于Python+Mysql+django的房屋信息可视化及价格预测系统Lw+PPT
  • 理解 Tomcat 架构与自定义实现
  • 计算机科学与技术(工学硕士)
  • Street Surf 的学习
  • 【MySQL】数据库-图书管理系统(CC++实现)
  • 【linux系统】mysql 数据库迁移至新服务器
  • Unity-Mirror网络框架-从入门到精通之网络组件介绍
  • 国内Ubuntu环境Docker部署Stable Diffusion入坑记录
  • GolangWeb开发- net/http模块