QTableView 列控制以便于显示/隐藏列
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);