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版权协议,转载请附上原文出处链接和本声明。