将复选框列添加到树左侧的 QTreeView 的方法?
Posted
技术标签:
【中文标题】将复选框列添加到树左侧的 QTreeView 的方法?【英文标题】:Methods of adding columns of check boxes to QTreeView to the left of the tree? 【发布时间】:2015-05-18 21:57:50 【问题描述】:我正在尝试在 QTreeView 的树部分左侧添加几列复选框。据我所知,仅使用 QTreeView 所有列都必须位于树控件的右侧。
我可能会考虑使用两个小部件,但同步和非叶节点复选框需要反映子节点的混合状态的技巧(其细节超出了本问题的范围)似乎加剧了问题 - 似乎两个小部件的状态需要紧密耦合,以便左侧小部件(可能是复选框列表)根据右侧小部件(树)中的可见节点显示正确的复选框)。
有哪些更好的方法来实现这一点?
这是我正在尝试做的一个示例:
【问题讨论】:
更好的方法 - 自定义委托 +QStandardItemModel
自定义角色。
【参考方案1】:
看起来 QTreeView::setTreePosition() 可以解决问题。
【讨论】:
以上是关于将复选框列添加到树左侧的 QTreeView 的方法?的主要内容,如果未能解决你的问题,请参考以下文章
拖放到 QTreeView 中的 QStandardItemModel 不起作用
如何将带有列标题的 QTreeView 重做为 QTableView?