问题标签 [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 回答
739 浏览

height - 如何计算 QTableView 行高。QHeaderView::ResizeToContents 用于不可见的行/列

我有少量行和大约 10 列的 QTableView。我为verticalHeader() 设置了QHeaderView::ResizeToContents resizeMode。但它仅适用于可见行。例如,如果 tableView 向右滚动并且某些数据已更改,则行高会变小。在 tableView 向后滚动之后,行的高度对于以前不可见的单元格来说仍然太小了。我发现重新实现 sizeHintForRow(int row) 可以解决问题。但我找不到使用顶级函数计算单元格高度(包括不可见单元格)的好方法......

我可以使用原始的 QTableView::sizeHintForRow()。我只需要改变它的一小部分。但它调用 d->viewOptionsV4()。在我的例子中,我只能得到 QStyleOptionViewItemV1。但是,让这个对象为 itemDelegate 计算正确的 sizeHint 是不够的。

关于计算单元高度的最佳方法有什么想法吗?

0 投票
1 回答
5156 浏览

qt - 如何使用委托在 QHeaderView 部分中绘制像素图?

问题:我需要将小像素图绘制到QHeaderView如图所示的部分(像素图位于部分的右上角,用红色方块标记):

在此处输入图像描述

据我了解,有两种方法可以做到这一点:

  1. 重新实现QHeaderViewpaintSection()方法。

  2. QStyledItemDelegate从类创建一个委托并重新实现paint()方法。

如果我尝试使用以下代码的 (1) 变体,则根本不显示过滤器像素图:

(2) 变体是这样的:

委托已创建,但函数未启动该paint()方法!

有什么帮助吗?

谢谢!

0 投票
3 回答
4807 浏览

python - QTableView 中每个标题的不同工具提示

我可以使用向所有标题添加单个工具提示

但我可以为每个标题添加不同的工具提示吗,即我需要访问包含标题的 QWidgets,例如(不工作):

0 投票
1 回答
2574 浏览

c++ - 如何设置水平标题QHeaderView的高度?

我需要调整两个表格的标题,彼此靠近,因为标题有不同的文本行。这似乎是不可能的。

请任何帮助!

0 投票
2 回答
776 浏览

c++ - QTreeWidget 中的垂直标题标签

我现在有一个带有水平标题标签的 QTreeWidget,我的意图是 垂直绘制 headerLabels,其余的水平绘制。

我不想重新实现 QTreeWidgetspaintEvent方法中的所有内容,所以我正在考虑控制标题标签的paintevent,然后调用超类paintevent

类似这样的东西:

在插入 headerLabels 时,我尝试\n在每个字符后插入一个,但这是一个非常丑陋的 hack,而且我真的不想这样做。

我的问题是我真的不知道如何获取标题项目或如何垂直绘制它们。有任何想法吗?

0 投票
1 回答
2347 浏览

qt - QHeaderView::mousePressEvent (需要弄清楚列/索引)

一般来说,当我重新实现 QTableView::mousePressEvent( QMouseEvent* ) 时,我可以让它正常工作。但是,在 QHeaderView 上执行此操作对我不起作用。代码很简单。

QMouseEvent 中的 x() 和 y() 很好。但是,它会创建一个无效索引,其中 row() 为 -1,column() 为 -1。显然,我将一个空字符串传递给 handle_right_click() 以启动菜单。该菜单不会知道是哪一列调用了它,混乱将进一步接踵而至。

我知道 clicked( const QModelIndex& ) 只会告诉我正确的索引和文本。但是,我需要区分按钮。

0 投票
1 回答
2406 浏览

qt - QHeaderView::section:selected

我将以下样式段应用于 QHeaderView

由于某种原因,QHeaderView 的“选定”伪状态不起作用,但在文档中它说它应该起作用。我试过以下并且它有效:

我的问题是,如何为选定的 Header TIA 应用不同的样式

0 投票
1 回答
322 浏览

qt - QSortFilterProxyModel 打破 columnWidths

将列宽保存在 QTableView 中的标准做法是什么,该 QTableView 通过 QSortFilterProxyModel 隐藏/删除某些列(以任意顺序)?请注意,我说的是在单个实例中隐藏和取消隐藏它们。

我已经尝试了很多方法(都很难看)来实现它。我肯定做错了什么。

我查看了 QHeaderView::saveState() 和 QHeaderView::restoreState(),但除非我遗漏了什么,否则这实际上只适用于从关机到开始保存。一旦以不同的顺序隐藏和取消隐藏列,就会中断。

QSortFilterProxyModel 使用 filterAcceptsColumn() 可以正常工作。需要注意的是,当 filterAcceptsColumn() 在先前返回 false 的列上返回 true 时。我运行 invalidateFilter() 并将其绘制在 QTableView 中。但是,QTableView 对列宽使用了一些默认值(似乎是 100),而不是在 QSortFilterProxyModel 隐藏列之前的宽度。

想法?

0 投票
1 回答
654 浏览

qt - QTableWidget 列的相对大小调整

我在对话框中使用 4-5 列的 QTableWidget。对话框可调整大小,我希望表格小部件列根据对话框大小调整大小,即如果我增加对话框宽度,最初设置为大宽度的列应该比设置为较小宽度的列扩展得更多。

简而言之,我希望相对调整大小,例如 column1 应该占据 20%,column2 占据我的表格宽度的 50%(随着对话框宽度的增加而增加)等等。

Qt 中的 QTableWidget 如何实现这一点?

任何解决方案、指针或提示都会非常有帮助。

0 投票
1 回答
206 浏览

qt - 如何使用 qfilesystem 模型标题文本避免 qtreeview 中的前导空格?

我正在使用带有 QTreeView 的 QFileSystem 模型,并且可以通过像这样对 QFileSystem 模型进行子类化来更改文本...

但我无法删除标题文本中的前导空格,任何人都可以建议如何做到这一点。

在此处输入图像描述