What is the method to set the text for a QTreeWidg

2020-02-06 19:16发布

问题:

I've checked the documentation here and I can't seem to find a method for setting the text of a QTreeWidget's title or header.

Without setting the title QTreeWidget automatically uses the number '1' in my code. An example of what it looks like outputted is below. I'm presuming QTreeWidget has a method for this and I just can't find it.

回答1:

You're looking for setHeaderLabel.

Note that the documentation says it adds a new column, so if your view already has column 0 with text "1", you may instead have to do the following:

if(QTreeWidgetItem* header = treeWidget->headerItem()) {
  header->setText(0, "My Text");
} else {
  treeWidget->setHeaderLabel("My Text");
}


回答2:

Here is an another method to set header texts

QStringList headerLabels;
headerLabels.push_back(tr("text1"));
headerLabels.push_back(tr("text2"));
headerLabels.push_back(tr("text3"));
..
headerLabels.push_back(tr("textN"));

treeWidget->setColumnCount(headerLabels.count());
treeWidget->setHeaderLabels(headerLabels);