QListView的item去掉选中时的虚线、更改鼠标悬浮与选中时背景样式

44 篇文章 4 订阅

1.去掉选中时的虚线

#ifndef MYPROXYSTYLE_H
#define MYPROXYSTYLE_H

#include <QProxyStyle>

class MyProxyStyle : public QProxyStyle
{
public:
    MyProxyStyle();

protected:
    virtual void drawPrimitive(PrimitiveElement element, const QStyleOption * option,
                                   QPainter * painter, const QWidget * widget = 0) const;
};

#endif // MYPROXYSTYLE_H
#include "myproxystyle.h"

MyProxyStyle::MyProxyStyle()
{

}

void MyProxyStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
{
    if (PE_FrameFocusRect == element)
    {
        /// do not draw focus rectangle
    }
    else
    {
        QProxyStyle::drawPrimitive(element, option,painter, widget);
    }
}
#include "mainwidget.h"
#include <QApplication>
#include "myproxystyle.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setStyle(new MyProxyStyle);
    MainWidget w;
    w.setWindowTitle("Test");
    w.show();

    return a.exec();
}

更改前的效果:

更改后的效果:



可以看出,选中时的虚线被成功去掉。


2.更改鼠标悬浮与选中时背景的样式

为程序添加如下央视表

QListView::item:hover { 
    border-radius: 5px;
    background: #EEEEEE;
    color: black;
}

QListView::item:selected { 
    border-radius: 5px;
    background: #DDDDDD;
    color: black;
}
更改前效果:

更改后效果:

可以看出更改了选中时背景的颜色,并为背景添加了圆角。(注意最中间那张猫是鼠标悬浮时的效果)

(------完-----)




  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值