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()])
