问题标签 [qheaderview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - QHeaderView:根据列的内容大小拉伸或 ResizeToContents
我有一个 QTableWidget,最后一列包含可变长度的文本。
我想根据部分的大小将 QHeaderView 的最后一部分拉伸或调整为其内容。如果内容大小不超过小部件中的剩余空间,我想拉伸它(以防止小部件中出现丑陋的未填充空间)。我可以通过使用setStretchLastSection(True)
. 但是,如果内容大小超过了拉伸列,我的内容的最后部分将被剪切,因为该列没有调整大小。QHeaderView 为这种情况提供了ResizeToContents
ResizeMode,但是在内容较短的情况下,这会使小部件留有未填充的空间。
我考虑过手动调整列大小。不幸的是,我无法直接访问内容大小,因为sectionSizeFromContents()
它是受保护的。我想我可以继承 QHeaderView 并重新实现它,但我想知道是否有更好的解决方案。
python - 具有多个标头的 QStandardItemModel - 将 QTreeView 标头与模型分离
我有一个 QStandardItemModel 需要在不同视图中使用不同的水平标题标签。
我无法找到有关如何以这种方式将 QTreeView 的标头与模型分离的信息。这可能吗?
请参阅下面的简单代码示例。
在这个例子中 - 我们有 ItemTypeA,它是我们的顶级项目,它的水平轴代表属性“名称 | 插值 | 标准化”。
ItemTypeA (ItemTypeB) 的子项在水平轴上有代表“名称|乘法”的项目
TreeViewA 显示所有内容,TreeViewB 仅显示所选顶级项的子项(此示例中未实现选择连接)。
想法?
c++ - 禁止列移动到索引 0?
有没有办法允许对QTableView
部分(列)进行重新排序(又名setSectionsMovable(true)
)但不允许将任何列移动到索引 0?我想这样做,以便可以通过拖动列来重新排序,但不允许将拖动的列放置在表格的最开头。
类似“如果拖动的列目标索引等于 0,则在释放鼠标时,取消拖动并且什么也不做”之类的东西。这可能吗?
qt - 如何仅使用 CSS 对齐 Qt 中 QTableView 标题中的文本?
我尝试了 CSS 代码:
它并没有帮助我。
PS 我在使用 Qt 的 WinCC OA 中编写 SCADA 系统,在那里您可以仅使用 CSS 更改组件的外观
python - 使用自定义 HeaderView 时列排序不起作用
我正在尝试创建一个TableView
带有排序功能的功能。如果我将TableView
obj 设置为我的 custom HeaderView
,单击标题将不会排序,即使我的自定义HeaderView
重新实现什么。如果我改用TableView
's header ( hh=tv.horizontalHeader()
) 它会排序。我究竟做错了什么?
下面的代码:
我的 PyQt 是 5.9.2,通过 conda 安装
c++ - 如何将原始复选框与 QHeaderView 的列标题的中心对齐?
我有一个QTableView
带有自定义的自定义模型,QHeaderView
以便呈现一个用于对表格内容执行“全选”功能的复选框。
在我的标头的重载paintSection()
函数中,我成功渲染了用于全选的复选框:
不幸的是,复选框没有居中呈现,而是左对齐。QStyledItemDelegate
这与每个表条目的列中正确居中的复选框完全冲突。
我知道我可以更改前两个参数QRect
来更改绘制图元的原点,但这对列宽的变化没有响应。虽然,固定列宽并不是最糟糕的解决方案。
如何正确地将列标题中的复选框居中?
辅助问题:标题中的复选框可以通过单击单元格中的任意位置来切换,而不仅仅是在框本身上(与通过代表在表格中呈现的那些不同)。有没有办法来解决这个问题?