qtableview 没有setHorizontalHeaderLabels函数,得用setHorizontalHeader。找了很多都不够简洁。
以下是两个设置表头的不同方法:
QTableWidget:
//设置表头
QStringList heardList;//表头
heardList << QString::fromLocal8Bit("接收")<<QString::fromLocal8Bit("发送");
ui.tableWidget>setColumnCount(heardList.count());
ui.tableWidget->setHorizontalHeaderLabels(heardList);
QTableView:
QStringList heardList;//表头
heardList << QString::fromLocal8Bit("接收")<<QString::fromLocal8Bit("发送");
QHeaderView *hearview = new QHeaderView(Qt::Horizontal);
QStandardItemModel* model = new QStandardItemModel;
model->setHorizontalHeaderLabels(heardList);
hearview->setModel(model);
hearview->setSectionResizeMode(QHeaderView::Stretch); //先自适应宽度
hearview->setSectionResizeMode(0, QHeaderView::ResizeToContents); //然后设置要根据内容使用宽度的列
ui.tableView->setHorizontalHeader(hearview);