QSplitter QSS hover失效的解决办法

关于QSplitter在样式表中鼠标悬浮失效的解决方法:

#include "widget.h"
#include <QSplitter>
#include <QTextEdit>
#include <QVBoxLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QVBoxLayout* layout = new QVBoxLayout(this);
    QWidget *leftWidget = new QWidget;
    QWidget *rightWidget = new QWidget;

    QVBoxLayout *leftLayout = new QVBoxLayout(leftWidget);
    QVBoxLayout *rightLayout = new QVBoxLayout(rightWidget);
    leftLayout->addWidget(new QTextEdit);
    rightLayout->addWidget(new QTextEdit);

    QSplitter *splitter = new QSplitter;
    splitter->addWidget(leftWidget);
    splitter->addWidget(rightWidget);

    layout->addWidget(splitter);

    this->setStyleSheet("QSplitter::handle{"
                            "background-color: rgb(100, 100, 100);"
                        "}"
                        "QSplitter::handle:hover{"
                            "background-color: rgb(200, 100, 100);"
                        "}"
                        "QSplitter::handle:pressed{"
                            "background-color: rgb(70, 70, 70);"
                        "}");
}

Widget::~Widget()
{

}

程序运行效果如下:
样式效果

此时QSplitter鼠标悬浮的样式是失效的,
解决办法是添加下面的代码

splitter->handle(1)->setAttribute(Qt::WA_Hover, true);

添加后效果如下:
添加后效果

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值