I have a QTableView object in my dialog.

I need to access the horizontal headers of this table and put them into a QStringList object.

Despite intensive search, I could not find in Qt documentation how to get this list of headers.

Edit: The closest I've found anywhere is this, but it's dealing with QTableWidget, and the functions used aren't available for QTableView. Unfortunately, I'm not at liberty to switch the object in question to a table widget.

有帮助吗?

解决方案

So, the only way I can figure out to do it as like this:

QStringList headers;
for(int i = 0; i < myTableView->model()->columnCount(); i++)
{
  headers.append(myTableView->model()->headerData(i, Qt::Horizontal).toString());
}

Honestly this still seems a lot more convoluted than it should have to be, but at least it works.

其他提示

You can simplify it a bit, like so. this is the python variation

items = []
for x in range(tbl.columnCount()):
    items.append(tbl.horizontalHeaderItem(x).text())
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top