QTableWidget, вероятно, ваш лучший выбор - он использует setHorizontalHeaderLabels()
и setVerticalHeaderLabels()
, чтобы позволить вам контролировать обе оси.
from PyQt4 import QtGui
class MyWindow(QtGui.QMainWindow):
def __init__(self, parent):
QtGui.QMainWindow.__init__(self, parent)
table = QtGui.QTableWidget(3, 3, self) # create 3x3 table
table.setHorizontalHeaderLabels(('Col 1', 'Col 2', 'Col 3'))
table.setVerticalHeaderLabels(('Row 1', 'Row 2', 'Row 3'))
for column in range(3):
for row in range(3):
table.setItem(row, column, QtGui.QWidget(self)) # your contents
self.setCentralWidget(table)
self.show()
Конечно, если вы хотите получить полный контроль над содержимым и форматированием заголовков, вы можете использовать методы .setHor horizontalHeaderItem () и .setVerticalHeaderItem (), чтобы определить QTableWidgetItem для каждого заголовка ...
См. официальную документацию для получения полной информации.