ich habe ein grundsätzliches Problem mit Qt4 und den MVC-Konzept. Ich habe es mittlerweile geschafft, ein eigenes Model zu erstellen, welches ich in einem QListView auch sauber angezeigt bekomme.
Anbei mal mein Model-Code - ich vermute der ist ein wenig dirty, weil ich die Query ohne Exception Handling aufrufe und das ganze auch im innern erledige. Oder ist das prinzipiell sogar ok / sinnvoll?
Code: Alles auswählen
class SongModel(QtCore.QAbstractListModel):
def __init__(self, cursor):
QtCore.QAbstractListModel.__init__(self)
self.cursor = cursor
res = self.cursor.execute("select sid, name from songs")
self.built_data(res)
def built_data(self, rows):
self.songs = {}
for song in rows:
self.songs[int(song[0])] = unicode(song[1])
def rowCount(self, parent=QtCore.QModelIndex()):
return len(self.songs)
def data(self, index, role):
if role != QtCore.Qt.DisplayRole:
return QtCore.QVariant()
return QtCore.QVariant(self.songs[index.row()])