Header 到 TableView

Header to a TableView

我到处浏览,但找不到任何关于如何在 Qt Creator 中将某种类型的 header 创建到 TableView 的信息。

我希望它看起来像这样:

简短回答:QTCreator 中没有您可以设置的设置来定义 table 视图的 Header...

长答案:这是一个带有自定义模型的 TableView。 然后你需要定义一个继承 QAbstractTableModel

的新模型

然后在 fooModel header 中覆盖 headerData 方法

class FooModel : public QAbstractTableModel
{
    Q_OBJECT

    //...
    QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
    //... more methods may be here

然后在 cpp 中:

QVariant FooModel::headerData(int section, Qt::Orientation orientation, int role) const
{
    if (role == Qt::DisplayRole)
    {
        switch (section)
        {
        case 0:
            return QString("Name");
        case 1:
            return QString("ID");
        case 2:
            return QString("HexID");
        // etc etc    
        }

    }
    return QVariant();
}

最后在控制器中:

    myFooModel  = new FooModel(this);
    ui->myTableView->setModel(myFooModel);