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"));
用这种方式有个弊端就是对该控件的部分样式设置会失效,比如扁平化设置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)