关于QTreeWidget显示类似QTableWidget网格的实现

时间:2024-03-26 20:18:53

先上个图看看效果:

关于QTreeWidget显示类似QTableWidget网格的实现

我的实现方式选择了样式表,下面是代码:

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");
}
至此,实现了网格显示的效果,至于后面根据内容样式显示不同的控件的,本文暂不讨论。