【QSS样式表 - ⑮】:QTreeView、QTreeWidget控件样式

QTreeView、QTreeWidget控件样式

QTreeWidget 是 QTreeView 的子类。

  1. 常用子控件
    在这里插入图片描述
  2. 常用伪状态
    在这里插入图片描述

在这里插入图片描述

QSS示例1 - item、section

  1. 新建一个 QMainWindow 窗口,放入 QTreeWidget 和 QTreeView 两个控件:
    在这里插入图片描述

  2. 项的设置

    /*头部样式*/
    QTreeView QHeaderView::section{
    	background-color: black;
    	color: white;
    	border: 1px solid red;
    	border-radius: 8px;
    }
    
    QTreeView {
    	font: normal bold 15px "Microsoft YaHei";
    	color: white;
    	background-color: blue;
    	/*交替变换颜色*/
    	alternate-background-color: gray;
    	/*去除选中的虚线框*/
    	outline: none;
    }
    
    /* 每一项的背景 */
    QTreeView::item{
    	border: 1px solid red;
    }
    /* 光标移动到每一项 */
    QTreeView::item:hover{
    	background-color: black;
    }
    /* 项被选中 */
    QTreeView::item:selected{
    	background-color: red;
    }
    /*有焦点时项被选中*/
    QTreeView::item:selected:active{
    	background-color: yellow;
    }
    /*失去焦点的时候,项被选中*/
    QTreeView::item:selected:!active{
    	background-color: green;
    }
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

QSS示例2 - branch、伪状态

  1. branch 如下所示。

    /*分支子控件*/
    QTreeView::branch {
    	background-color: gray;
    }
    

    在这里插入图片描述

  2. branch:adjoins-item (分支与item相邻)如下所示。

    /*分支子控件*/
    QTreeView::branch {
    	background-color: gray;
    }
    
    QTreeView::branch:adjoins-item{
    	background-color: blue;
    }
    

    在这里插入图片描述

  3. branch:!adjoins-item (分支与item不相邻)如下所示。

    /*分支子控件*/
    QTreeView::branch {
    	background-color: gray;
    }
    
    QTreeView::branch:adjoins-item{
    	background-color: blue;
    }
    
    QTreeView::branch:!adjoins-item{
    	background-color: red;
    }
    

    在这里插入图片描述

  4. branch:has-siblings (有兄弟) 如所示。

    /*分支子控件*/
    QTreeView::branch {
    	background-color: gray;
    }
    
    QTreeView::branch:has-siblings {
    	background-color: blue;
    }
    

    在这里插入图片描述

  5. branch:has-children (有孩子)如下所示。

    /*分支子控件*/
    QTreeView::branch {
    	background-color: gray;
    }
    
    QTreeView::branch:has-children {
    	background-color: black;
    }
    

    在这里插入图片描述

  6. 组合使用,如下所示。

    QTreeView::branch {
    	background-color: white;
    }
    
    
    /* 有下一个兄弟节点,紧挨着item的那一格*/
    QTreeView::branch:has-siblings:adjoins-item {
    	border-image: url(:/images/images/branch-more.png), 0;
    }
    
    /*有下一个兄弟节点,未挨着item的那一格*/
    QTreeView::branch:has-siblings:!adjoins-item {
    	border-image: url(:/images/images/vline.png), 0;
    }
    
    /*无孩子、无下一个兄弟节点,挨着item的那一格*/
    QTreeView::branch:!has-children:!has-siblings:adjoins-item {
    	border-image: url(:/images/images/branch-end.png), 0;
    }
    
    
    /*折叠状态,有孩子*/
    QTreeView::branch:closed:has-children:!has-siblings,
    QTreeView::branch:closed:has-children:has-siblings {
    	border-image: none; /*去掉原有的属性*/
    	image: url(:/images/images/right-arrow.png);
    }
    
    /*打开状态,有孩子*/
    QTreeView::branch:open:has-children:!has-siblings,
    QTreeView::branch:open:has-children:has-siblings {
    	border-image: none;
    	image: url(:/images/images/down-arrow.png);
    }
    

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

街 三 仔

你的鼓励是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值