【问题标题】:how to insert all column header names into a list from qsqltablemodel table?如何将所有列标题名称插入 qsqltablemodel 表中的列表?
【发布时间】:2020-12-05 00:20:44
【问题描述】:
以下是我的数据库模型示例:
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('book.db')
db.open()
self.model = QtSql.QSqlTableModel(self)
self.model.setTable("card")
self.model.select()
column_names = [ ]
如何将所有列标题名称从 qsqltablemodel 表中获取到列表中?
【问题讨论】:
标签:
python-3.x
sqlite
qsqltablemodel
【解决方案1】:
根据API文档(针对C++版本),可以使用record()函数获取空记录,用于提取字段名(reference):
它返回一个空记录,只有字段名称。该函数可用于检索记录的字段名称。
从记录中,我们可以得到字段的个数,然后在列表推导表达式中查询每个字段的名称:
record = model.record()
column_names = [ record.fieldName(i) for i in range(record.count()) ]