QTableView 列控件,方便显示/隐藏列
Posted
技术标签:
【中文标题】QTableView 列控件,方便显示/隐藏列【英文标题】:QTableView column control to facilitate show/hide columns 【发布时间】:2014-08-18 15:25:41 【问题描述】:Java JXTable 有一个列控件让用户显示/隐藏列。
QTableView 有类似的吗?我知道有an API call to show/hide a column,但是当您使用带有 QTableView 的程序时,这无济于事。
【问题讨论】:
【参考方案1】:使用表格中的水平标题并调用隐藏部分,传递要隐藏的索引,我将其链接到上下文菜单中的信号,该信号获取右键单击的列的索引
table_view->horizontalHeader()->hideSection(index);
编辑:与显示列类似
table_view->horizontalHeader()->showSection(index);
从 QPoint 获取索引(我从请求上下文菜单的位置获取)
int index = table_view->horizontalHeader()->logicalIndexAt(cursor_pos);
【讨论】:
这对我来说没有意义。你是在弹出一个窗口吗? 我向 QTableView 添加了一个自定义上下文菜单(它为您提供了一个点,您可以从中获取表的当前索引,在代码中添加了示例),因此您可以隐藏该行。要将它们带回来,我使用一个弹出窗口显示已删除列的列表(通过仅使用列名存储已删除的索引,以便您可以显示某些内容)然后在您选择显示的列上调用 show 函数再次调用我在上面显示的显示部分功能 很遗憾,我要到下周才能试用。 好吧,我确定这仍然有效,就像我说的那样,我自己用一个高度可定制的 QTableView 类完成了这个,所以如果它没有,请告诉我 urk,不幸的是我不记得了。以上是关于QTableView 列控件,方便显示/隐藏列的主要内容,如果未能解决你的问题,请参考以下文章
QT QTableview QItemDelegate 简单使用