先上个图看看效果:
我的实现方式选择了样式表,下面是代码:
QTreeView::item
{
border-right:1px solid rgb(179,216,247);
border-bottom:1px solid rgb(179,216,247);
padding: 2px;
margin: 0px;
margin-left:-2px;
}
QTreeView::branch {
border-bottom:1px solid rgb(179,216,247);
}
因为这样设置后,有子节点的父节点前面的三角形会消失,所以仍然使用样式表添加:
QTreeView::branch:has-children:closed {
image: url("://image/branch_with_childen_closed.png");
}
QTreeView::branch:has-children:closed:hover {
image: url("://image/branch_with_childen_closed_hover.png");
}
QTreeView::branch:has-children:open {
image: url("://image/branch_with_childen_open.png");
}
QTreeView::branch:has-children:open:hover {
image: url("://image/branch_with_childen_open_hover.png");
}
至此,实现了网格显示的效果,至于后面根据内容样式显示不同的控件的,本文暂不讨论。