将自定义标题视图添加到表格视图

问题描述

我想创建一个自定义标题视图并使用模型将其添加到表格视图中。这是我的方法

QStandardItemmodel * s= new QStandardItemmodel(this);
s->setHeaderData(0,Qt::Horizontal,"Header 1",Qt::displayRole);
s->setHeaderData(1,"Header 2",Qt::displayRole);
s->setHeaderData(2,"Header 3",Qt::displayRole);
QHeaderView * p = new QHeaderView(ui->tableView);
p->setModel(s);
ui->tableView->setHorizontalHeader(p);
ui->tableView->show();

但是表头没有出现在表中。我也试过

ui->tableView->horizontalHeader()->setModel(s);

但没有结果。

解决方法

您的示例中缺少列数,这就是它不显示标题的原因。在您的代码中使用 s->setColumnCount(3)。如需更多信息,请阅读this