2013-05-01 68 views
2

我有一个功能setHorizontalHeader,它通过使用setHorizontalHeaderItem逐个添加标题项目来为表格添加标题。如果我想删除标题,我应该使用哪个函数? 看起来takeHorizontalHeaderItem()适合,但它删除该项目而不删除它。 在为所有项目调用takeHorizo​​ntalHeaderItem之后,我会得到其中包含数字的标题。 我需要完全删除标题(数据+单元格) - 如何正确实现它?QT删除表格的水平标题

+0

你想完全隐藏标题行? – Mat 2013-05-01 12:10:55

+0

@Mat是的我想隐藏它 – Yakov 2013-05-01 12:18:29

回答

6

horizontalHeaderQTableView是一个像任何其他小部件。如果你想隐藏它,只需拨打它的hide()成员(这也是一个插槽)。

view->horizontalHeader()->hide(); 

这隐藏了整个标题栏。它不会销毁或以其他方式更改包含的标题项目。

当你想再次显示标题时,只需show()吧。标题项将保持与hide()之前的相同(除非您已在两者之间进行了更改)。

view->horizontalHeader()->show(); 

(Works的垂直头也很明显。)

+0

我应该使用takeHorizo​​ntalHeaderItem吗? – Yakov 2013-05-01 12:22:46

+1

不可以。这可以在整个标题行上执行,而不是在单个标题项上执行。您可以保持标题项目不变,它们将不再显示(如果您在标题中调用show(),它们将再次显示)。 – Mat 2013-05-01 12:26:03

+0

好的。如果在执行完一个流程后我会想要显示标题(再一次)。我应该使用某种“取消隐藏”吗? – Yakov 2013-05-01 12:29:24