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

2024-04-26 13:09:18 发布

您现在位置:Python中文网/ 问答频道 /正文

{{cda}和下面的cda}创建简单的代码。 问题:如何使其标题有三列分别标记为“Column 0”、“Column 1”和“Column 3”?在

enter image description here

import os,sys
from PyQt4 import QtCore, QtGui
app=QtGui.QApplication(sys.argv)
class Window(QtGui.QTableView):
    def __init__(self):
        super(Window, self).__init__() 
        header=QtGui.QHeaderView(QtCore.Qt.Horizontal, self)
        self.setHorizontalHeader(header)
        model=QtGui.QStandardItemModel()
        for i in range(3):
            model.appendRow(QtGui.QStandardItem('Item %s'%i))
        self.setModel(model)  
        self.show()

window=Window()
sys.exit(app.exec_())

Tags: 代码标记importselfapp标题modelinit
2条回答

使用

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)

但它需要设置截面和方向。在

优势:

您可以设置角色,例如Qt::DecorationRole,它允许您为标题设置图像。你可以把不同的角色组合起来,得到漂亮的结果。例如,可以使用Qt::DisplayRoleQt::EditRole将简单文本添加到图像中。如您所见,这是一种更灵活的方法。在

相关问题 更多 >