QTableView 列控制以便于显示/隐藏列

3 投票
1 回答
3481 浏览
提问于 2025-04-18 17:40

Java的JXTable有一个功能,可以让用户选择显示或隐藏某些列。

那么,QTableView有没有类似的功能呢?我知道有一个API可以用来显示或隐藏列,但这在使用带有QTableView的程序时并没有什么帮助。

1 个回答

1

使用表格的横向标题,然后调用隐藏某一部分的功能,传入你想要隐藏的列的索引。我把这个功能和右键菜单的信号连接起来,这样就能获取到被右键点击的列的索引。

table_view->horizontalHeader()->hideSection(index);

补充一下,显示列的操作也是类似的。

table_view->horizontalHeader()->showSection(index);

你可以通过一个 QPoint 来获取索引(这个 QPoint 是我从请求上下文菜单的位置得到的)。

int index = table_view->horizontalHeader()->logicalIndexAt(cursor_pos);

撰写回答