Mit einem QStyledItemDelegate auf einem QListView mit QSqlQueryModel

Ich habe eine QListView, dass eine QSqlQueryModel set als Modell. Wie kann ich einen QStyledItemDelegate, um die Anpassung des QListView den Zeilen' Auftritt (z.B. Karte 2 text-Zeilen) ?

QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE" );
db.setDatabaseName( "test.db" );
if( !db.open() )
{
    qDebug() << db.lastError();
    qFatal( "Failed to connect." );
}

qDebug( "Connected!" );

QSqlQueryModel *sqlModel = new QSqlQueryModel;
sqlModel->setQuery("SELECT * FROM entries");

mListWidget->setModel(sqlModel);

Im wesentlichen, ich denke, was ich tun müssen, um irgendwie "passen" die Rollen der Tabelle db die Felder, um der Lage sein, um die Daten aus der QStyledItemDelegate, mit so etwas wie dieses:

void ListViewDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
    [...]
    QString headerText = qvariant_cast<QString>(index.data(headerRole));
    QString subText = qvariant_cast<QString>(index.data(subHeaderRole));
    [...]
}

Dank!

InformationsquelleAutor gmpi | 2011-03-17

Schreibe einen Kommentar