问题标签 [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.

0 投票
1 回答
3733 浏览

c++ - 具有固定列宽的 QTreeView

今天我正在尝试配置一个QTreeView以满足我的要求。我的观点基本上有三列。第二列和第三列应该正好是 50 像素宽,不管小部件的大小是多少。第一列应占据剩余空间。

如果我放大我的小部件,第一列应该自动占据所需的可用空间,而第二列和第三列应该保持它们给定的 50 像素宽度。

这是我到目前为止所尝试的:

主文件

列委托.h

但执行后我得到:

第三列占据了很大的空间

第三列占用更多空间,但第一列应该占用更多空间

有谁知道如何以最少的工作量实现我想要的行为?

0 投票
1 回答
3888 浏览

qt - QHeaderView:根据列的内容大小拉伸或 ResizeToContents

我有一个 QTableWidget,最后一列包含可变长度的文本。

我想根据部分的大小将 QHeaderView 的最后一部分拉伸或调整为其内容。如果内容大小不超过小部件中的剩余空间,我想拉伸它(以防止小部件中出现丑陋的未填充空间)。我可以通过使用setStretchLastSection(True). 但是,如果内容大小超过了拉伸列,我的内容的最后部分将被剪切,因为该列没有调整大小。QHeaderView 为这种情况提供了ResizeToContentsResizeMode,但是在内容较短的情况下,这会使小部件留有未填充的空间。

我考虑过手动调整列大小。不幸的是,我无法直接访问内容大小,因为sectionSizeFromContents()它是受保护的。我想我可以继承 QHeaderView 并重新实现它,但我想知道是否有更好的解决方案。

0 投票
0 回答
524 浏览

qt - Qt QTreeView/QHeaderView 根据文本标题部分添加最小宽度

我有一个QTreeView小部件,我想添加一个minimum-width. 最小宽度将是: minimum-width = headerSectionText_width + sortArrow_width

我还想保持调整大小的交互性,因此用户可以使其更大,但不能小于最小宽度。

在此处输入图像描述

根据图片,不允许任何列小于title_width + sortarrow_width,但与用户决定的一样大。

有没有办法做到这一点?提前致谢!

0 投票
0 回答
633 浏览

c++ - 如何为 QTableWidget 标题中的列设置多个标题?

我有一个 QTableWidget,假设它有 4 列,标题为 Failed DIPS、Failed Outputs、Extra DIPS、Extra Outputs。现在我的要求是我应该对列进行分类,即说我需要添加另外两个标题,例如失败和未定义。并且在 Failed - Failed DIPS 和 Failed 输出下应该出现,在 Undefined Extra DIPS 和 Extra Outputs 下应该出现。也就是说,除了现有的普通标头之外,我还需要两个额外的标头。这些额外的标题将对现有的标题进行分组以使其更有意义。请任何人指导我如何做到这一点。

像这样的东西

在此处输入图像描述

0 投票
1 回答
370 浏览

python - 具有多个标头的 QStandardItemModel - 将 QTreeView 标头与模型分离

我有一个 QStandardItemModel 需要在不同视图中使用不同的水平标题标签。

我无法找到有关如何以这种方式将 QTreeView 的标头与模型分离的信息。这可能吗?

请参阅下面的简单代码示例。


在这个例子中 - 我们有 ItemTypeA,它是我们的顶级项目,它的水平轴代表属性“名称 | 插值 | 标准化”。

ItemTypeA (ItemTypeB) 的子项在水平轴上有代表“名称|乘法”的项目

TreeViewA 显示所有内容,TreeViewB 仅显示所选顶级项的子项(此示例中未实现选择连接)。

想法?

0 投票
1 回答
38 浏览

c++ - 禁止列移动到索引 0?

有没有办法允许对QTableView部分(列)进行重新排序(又名setSectionsMovable(true))但不允许将任何列移动到索引 0?我想这样做,以便可以通过拖动列来重新排序,但不允许将拖动的列放置在表格的最开头。

类似“如果拖动的列目标索引等于 0,则在释放鼠标时,取消拖动并且什么也不做”之类的东西。这可能吗?

0 投票
2 回答
1826 浏览

qt - 如何仅使用 CSS 对齐 Qt 中 QTableView 标题中的文本?

我尝试了 CSS 代码:

它并没有帮助我。

PS 我在使用 Qt 的 WinCC OA 中编写 SCADA 系统,在那里您可以仅使用 CSS 更改组件的外观

0 投票
1 回答
508 浏览

qt - 如何在 QTreeView 中的标题文本旁边创建一个按钮?

我需要在这样的标题文本旁边创建一个按钮以进行排序。 在此处输入图像描述

要求是:

  • 按钮和标题文本应该在一个组中以对齐在一起
  • 当我单击 up_arrow 按钮时,列表将被排序(在图片中它没有排序:D),并且图标变为 down_arrow 以按相反顺序排序。

在此处输入图像描述

我怎样才能做到这一点?

0 投票
1 回答
815 浏览

python - 使用自定义 HeaderView 时列排序不起作用

我正在尝试创建一个TableView带有排序功能的功能。如果我将TableViewobj 设置为我的 custom HeaderView,单击标题将不会排序,即使我的自定义HeaderView重新实现什么。如果我改用TableView's header ( hh=tv.horizontalHeader()) 它会排序。我究竟做错了什么?

下面的代码:

我的 PyQt 是 5.9.2,通过 conda 安装

0 投票
2 回答
855 浏览

c++ - 如何将原始复选框与 QHeaderView 的列标题的中心对齐?

我有一个QTableView带有自定义的自定义模型,QHeaderView以便呈现一个用于对表格内容执行“全选”功能的复选框。

在我的标头的重载paintSection()函数中,我成功渲染了用于全选的复选框:

不幸的是,复选框没有居中呈现,而是左对齐。QStyledItemDelegate这与每个表条目的列中正确居中的复选框完全冲突。

我知道我可以更改前两个参数QRect来更改绘制图元的原点,但这对列宽的变化没有响应。虽然,固定列宽并不是最糟糕的解决方案。

如何正确地将列标题中的复选框居中?

辅助问题:标题中的复选框可以通过单击单元格中的任意位置来切换而不仅仅是在框本身上(与通过代表在表格中呈现的那些不同)。有没有办法来解决这个问题?