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);
我到处浏览,但找不到任何关于如何在 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);