QProxyStyle 将 QTreeView 标头与分支对齐
Posted
技术标签:
【中文标题】QProxyStyle 将 QTreeView 标头与分支对齐【英文标题】:QProxyStyle align QTreeView header with branch 【发布时间】:2016-02-26 07:51:36 【问题描述】:我正在创建一个 QProxyStlye,并希望将第一个标题列与列中的项目对齐。 通常第一列以 (0,0) 开头,并且项目偏移可能的分支指示符的宽度(图像中的红色方块)。
【问题讨论】:
doc.qt.io/qt-5/qtreeview.html#rootIsDecorated-prop - 假 @SaZ 我需要分支指示符空间来绘制指示符,但我想更改标题的对齐方式。在最终的风格中,它看起来很棒,但在 Windows 风格中则不然。 好的,现在我明白了。简单的方法是继承QHeaderView
并覆盖paintSection
方法。我不确定,代表是否有可能。如果你真的想用QProxyStyle
来做这件事,那么你可以研究paintSection
方法的Qt 代码并找到你需要重新实现的样式。
目前我倾向于这个丑陋的解决方案if(hopt->section == 0) // TODO: get width of a branch indicator rect.adjust(30,0,0,0);
【参考方案1】:
为QHeaderView
创建自定义委托,覆盖绘制方法。
【讨论】:
以上是关于QProxyStyle 将 QTreeView 标头与分支对齐的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有列标题的 QTreeView 重做为 QTableView?