Python 如何使用QTableView创建列标题及其标签

Python 如何使用QTableView创建列标题及其标签,python,qt,pyqt,Python,Qt,Pyqt,下面的代码创建了一个简单的QTableView,其中包含一个标题和三个QStandardItems。 问题:如何使其标题包含三列,分别标记为“第0列”、“第1列”和“第3列” 使用 您还可以使用以下选项: bool QAbstractItemModel.setHeaderData (self, int section, Qt.Orientation orientation, QVariant value, int role = Qt.EditRole) 但它需要设置截面和方向 优点: 您可以

下面的代码创建了一个简单的
QTableView
,其中包含一个标题和三个
QStandardItem
s。 问题:如何使其标题包含三列,分别标记为“第0列”、“第1列”和“第3列”

使用

您还可以使用以下选项:

bool QAbstractItemModel.setHeaderData (self, int section, Qt.Orientation orientation, QVariant value, int role = Qt.EditRole)
但它需要设置截面和方向

优点:


您可以设置角色,例如
Qt::DecorationRole
,它允许您为标题设置图像。您可以组合不同的角色并获得漂亮的结果。例如,您可以使用
Qt::DisplayRole
Qt::EditRole
向图像添加简单文本。正如您所看到的,这是一种更灵活的方法。

model.setHorizontalHeaderLabels([“第0列”、“第1列”、“第3列”])
谢谢!!是的,对不起。另外,你可以使用QTableWidget,可能更简单。我必须使用
model
来保持同步。QTableWidget不支持它。再次感谢!除了QtCore.qabstractablemodel,你怎么能做到同样的事情呢?我相信你想实现感谢你让我知道!有机会我会尝试的。
model = QtGui.QStandardItemModel(0,3) # three columns

model.setHorizontalHeaderLabels( [ "Column 0", "Column 1", "Column 3"] )
bool QAbstractItemModel.setHeaderData (self, int section, Qt.Orientation orientation, QVariant value, int role = Qt.EditRole)