如何获取 QSqlTableModel 的列名?

发布于 2024-10-10 23:22:26 字数 64 浏览 0 评论 0原文

我想要类似 QString QSqlTableModel::getColumnName(int col) 的东西。

I would like to have something like QString QSqlTableModel::getColumnName(int col).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白首有我共你 2024-10-17 23:22:27

您可以在 QSqlTableModel 中设置列​​名别名: 同样

model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
model->setHeaderData(1, Qt::Horizontal, QObject::tr("First name"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("Last name"));

,您可以从 QSqlTableModel 中检索列名别名:

QString columnName1 = model->headerData(0, Qt::Horizontal, Qt::DisplayRole).toString();
QString columnName2 = model->headerData(1, Qt::Horizontal, Qt::DisplayRole).toString();
QString columnName3 = model->headerData(2, Qt::Horizontal, Qt::DisplayRole).toString();

默认情况下,如果您不设置别名,则列名将等于从表元中读取的内容初始化模型时的数据。确保您的部分索引是有效的列索引。请务必为列指定水平方向,为行指定垂直方向。

希望这有帮助。

You can set column name aliases like so in a QSqlTableModel:

model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
model->setHeaderData(1, Qt::Horizontal, QObject::tr("First name"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("Last name"));

So likewise then you can retrieve column name aliases like so from a QSqlTableModel:

QString columnName1 = model->headerData(0, Qt::Horizontal, Qt::DisplayRole).toString();
QString columnName2 = model->headerData(1, Qt::Horizontal, Qt::DisplayRole).toString();
QString columnName3 = model->headerData(2, Qt::Horizontal, Qt::DisplayRole).toString();

By default if you do not set an alias the column name will be the equal to what was read from table meta data when initializing your model. Be sure that your section index is a valid column index. Be sure to specify an Orientation of Horizontal for columns and Vertical for rows.

Hope this helps.

咋地 2024-10-17 23:22:27

调用setTable()后,可以调用record()方法获取字段信息。

QString getColumnName(int col) {
   return sqlTableModel.record().fieldName(col);
}

After call setTable(), you can obtain field information calling record() method.

QString getColumnName(int col) {
   return sqlTableModel.record().fieldName(col);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文