Witam mam następujący problem, tworzę aplikację do przeglądania bazy danych w postgresie. Chciałbym wyświetlać dane za pomocą tabeli. Czcionka dla odczytanego kiedyś wiersza powinna być pogrubiona, a dla nie odczytanego zwykła. Jeśli chodzi o QTableWidget umiem zrobić wszystko z wyżej wymienionych rzeczy, jeśli zaś chodzi o QTableView nie do końca. Jednak moje główne pytanie jest takie czy istnieje istotna różnica w szybkości działania między QTableWidget, a QTableView? Dodatkowo dodam że i tak zamierzam stronicować to co wyświetlam z mojej bazy danych, i na jedną stronę przypadnie 50/100 wierszy, ilość kolumn będzie wynosić 13.
0
0
QTableWidget
jest przeznaczony do obsługi standardowego modelu danych, który jest uniwersalny prosty w użyciu ale pamięciożerny.
QTableView
też to potrafi, ale jest bardziej uniwersalny, działa na dowolnym modelu zawierającym tabelę (pisanie własnego modelu jest troszkę bardziej skomplikowane).
0
Dzięki za odpowiedź, mam jeszcze jedno pytanie. Czy aby zmienić jedną linię w QListView, powinienem użyć setdata, data czy jeszcze innej funkcji? Dotąd udało mi się zmienić komórkę edytowaną(QSqlTableModel) za pomocą data()
QVariant data(const QModelIndex &idx, int role) const
{
if (role == Qt::BackgroundRole && isDirty(idx))
return QBrush(QColor(Qt::yellow));
return QSqlTableModel::data(idx, role);
}
0
Ucięło mi kawałek wypowiedzi więc dopisuję pytanie tutaj.
To kolorowanie linii powinno być w zależności czy w wybranym rekordzie jest 1 lub 0.