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

我希望它看起来像这样:

最佳答案

简短的答案:QTCreator中没有可用于定义表视图标题的设置...

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

然后在FooModel标头中覆盖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);

关于c++ - 表头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57038810/

10-15 16:46