我无法设置在 TableView 中创建的新列的标题。
这是代码:
def addColumn(self):
if self.tableView.selectionModel().hasSelection():
indexes = self.tableView.selectionModel().selectedColumns()
for index in sorted(indexes):
print('Adding column %d...' % index.column())
self.QSModel.insertColumn(index.column()+1)
self.QSModel.setHorizontalHeaderItem(index.column()+1,'XXX')
else:
print('No col selected!')
我得到的错误是:
self.QSModel.setHorizontalHeaderItem(index.column()+1,'XXX')
TypeError: setHorizontalHeaderItem(self, int, QStandardItem): argument 2 has unexpected type 'str'
如何解决?
最佳答案
由于错误和 the docs指出,预期的第二个参数是 QStandardItem,而不是字符串,在您的情况下它应该是:
self.QSModel.setHorizontalHeaderItem(index.column() + 1, QStandardItem('XXX'))
关于python - 在表模型中设置列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54378060/