在表模型中设置列标题

时间:2019-01-26 11:44:41

标签: python pyqt

我无法设置在表视图中创建的新列的标题。

这是代码:

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'

我该如何解决?

1 个答案:

答案 0 :(得分:0)

错误和the docs指出,预期的第二个参数是QStandardItem,而不是字符串,在您的情况下,应为:

img