Trim table 列 header 中的文本,带有排序指示符

Trim text in a table column header with sort indicator

我有一个带有样式列 header 的 table。 Header 高度有限,所以 header 实际上很窄。 header 也有排序指示符(默认 arrow/triangle)。

当用户更改列宽使其小于文本宽度时,文本末尾会被剪掉 3 个点。例如。 "Universi..." 到目前为止一切顺利。

问题是排序指示器隐藏了部分修剪后的文本。 想象一下宽栏——文本完全显示,排序图标在右边,一切看起来都很好。现在用户调整列的大小。就在用 3 个点修剪文本之前,排序指示器开始隐藏文本的右侧。在某些时候,文本会被 3 个点上方的排序指示器修剪。例如。 "Universi.▽" 甚至 "Univers▽".

看起来 header 没有考虑排序符号。 有没有一种简单的方法可以将符号指示器设置为不与修剪后的文本重叠,例如"Univer... ▽"? 我需要列可以调整大小和 sortable.

我不想定义一个带有按钮和文本框的特殊小部件以及处理事件和修整等...这是一个严重的开销。

谢谢

这是一个错误 https://bugreports.qt.io/browse/QTBUG-629 应该在 Qt 5.4 中解决 https://codereview.qt-project.org/#/c/99900/