QTableview Tableheader werden nicht gesetzt
Verfasst: Samstag 11. März 2017, 18:58
Hallo zusammen,
ich habe folgendes Tabellenmodel zusammengefriemelt:
Die Daten werden durch ein zweidimensionales Array eingefügt. Nun werden die Tabellenköpfe jedoch noch mit 1,2,3 usw. angezeigt.
Dazu wollte ich einfach dem Model die Bezeichnung der Header hinzufügen
ein im Konstruktor vom Tabellenmodel TableModel hat ebenso wenig gebracht wie ein
Diese Anweisungen werden einfach ignoriert.
Was mach ich falsch?
VG niesel
ich habe folgendes Tabellenmodel zusammengefriemelt:
Code: Alles auswählen
rom PyQt5 import QtCore
from PyQt5 import QtGui
from PyQt5 import Qt
class TableModel(QtCore.QAbstractTableModel):
def __init__(self, datas=[[]], parent = None):
QtCore.QAbstractListModel.__init__(self, parent)
self.__datas = datas
def rowCount(self, parent):
return len(self.__datas)
def columnCount(self, parent):
return len(self.__datas[0])
def flags(self, index):
return QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
def data(self, index, role):
if role == QtCore.Qt.EditRole:
row = index.row()
column = index.column()
return self.__datas[row][column]
if role == QtCore.Qt.DisplayRole:
row = index.row()
column = index.column()
value = self.__datas[row][column]
return value
def setData(self, index, value, role=QtCore.Qt.EditRole):
if role == QtCore.Qt.EditRole:
row = index.row()
column = index.column()
data = value
self.__datas[row][column] = data
self.dataChanged.emit(index, index)
return True
Dazu wollte ich einfach dem Model die Bezeichnung der Header hinzufügen
ein
Code: Alles auswählen
setHeaderData(0, QtCore.Qt.Horizontal, "Test")
Code: Alles auswählen
model = TableModel(my_array)
model.setHeaderData(0, QtCore.Qt.Horizontal, "Test")
Was mach ich falsch?
VG niesel