QtreeWiget各节点之间连线样式设置

QTreeWidget树状图默认各节点直接是没有线连接的,看着层次感不强,用户体验不太好,所以需要设置一下样式

方法一:通过对qtreewidget进行qss样式设置

效果图如下:

核心代码:

 //url路径根据自己图片所在目录进行设置
    QString qss = "QTreeWidget::branch:has-siblings:!adjoins-item{ \
            border-image:url(D:/pratices/Qt/TreeWidgetQss/vline.png) 0;\
        }\
        QTreeWidget::branch:has-siblings:adjoins-item{\
            border-image:url(D:/pratices/Qt/TreeWidgetQss/branch-more.png) 0;\
        }   \
        QTreeWidget::branch:!has-children:!has-siblings:adjoins-item{\
            border-image:url(D:/pratices/Qt/TreeWidgetQss/branch-end.png) 0;\
        }\
        QTreeWidget::branch:has-children:!has-siblings:closed,\
        QTreeWidget::branch:closed:has-children:has-siblings{\
            border-image:none;\
            image:url(D:/pratices/Qt/TreeWidgetQss/branch-closed.png);\
        }\
        QTreeWidget::branch:open:has-children:!has-siblings,\
        QTreeWidget::branch:open:has-children:has-siblings{\
            border-image:none;\
            image:url(D:/pratices/Qt/TreeWidgetQss/branch-open.png);\
        }";
    ui->treeWidget->setStyleSheet(qss);

上述图标下载链接:https://download.csdn.net/download/tingy123/15925476

方法二:使用windows系统风格

效果图如下:

实现代码很简单,就一句,如下:

ui->treeWidget->setStyle(QStyleFactory::create("windows"));

用这种方式有个弊端就是对该控件的部分样式设置会失效,比如扁平化设置


版权声明:本文为tingy123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。