Zeilenauswahl in TableView

Alles rund um die Programmierung mit Qt
Antworten
tamasi
Beiträge: 45
Registriert: 5. Juli 2007 15:49

Zeilenauswahl in TableView

Beitrag von tamasi »

Hi,

sehe wohl gerade den Wald vor lauter Bäumen nicht.

Ich habe mir ein eigens ModelView Model gebastelt inkl Datenbank->myModel->myView und Delegate.

my Model=QAbstractTableModel
myView= QTableView

Das ganze funktioniert wunderbar, nur möchte ich, dass in meiner so erstellten Tabelle die erste Zeile per default aktiviert ist.
Mit selectRow ist sie irgendwie so halb aktiviert, dunkelgrau hinterlegt, sie soll aber blau erscheinen, als wenn man mit der Maus geklickt hat.

Ich denke wahrscheinlich wieder viel zu kompliziert, habe es mit überschreiben von index, setcurrentindex usw probiert. Bleibt trotzdem nur dunkelgrau:(.
Bisher schaut es so aus, wobei w2cTVTop meine Tabelle ist.

Code: Alles auswählen

QModelIndex index=w2cTVTop->index(0,0);
        w2cTVTop->selectionModel()->select(index, QItemSelectionModel::Rows);
        w2cTVTop->setCurrentIndex(index);
Ich hoffe, es kann mir wer helfen.
tamasi
Beiträge: 45
Registriert: 5. Juli 2007 15:49

Beitrag von tamasi »

hmmm, geht das grundsätzlich nicht oder ist die lösung so trivial das sich keiner dazu äußern möchte?
FloGrobosch
Beiträge: 8
Registriert: 24. Juli 2007 10:38

Beitrag von FloGrobosch »

Könnte mit

Code: Alles auswählen

myView->setSelection(visualRect(currentModelIndex),QItemSelectionModel::Select);
gehen...
tamasi
Beiträge: 45
Registriert: 5. Juli 2007 15:49

Beitrag von tamasi »

hmmm, wirklich funktioniert hat es nicht.

Musste in mytableview die setSelection Funktion überschreiben(ist ja protected) aber erbrachte dann trotzdem nur die graue Auswahl.
Egal ob ich Rows oder Current oder sonstwas als Flag benutzt habe.
NoobSaibot
Beiträge: 99
Registriert: 27. Januar 2005 15:55

Beitrag von NoobSaibot »

also ich arbeite eher mit

Code: Alles auswählen

myView->selectionModel()->select( const QModelIndex&, QItemSelectionModel::SelectionFlags );
was auch wunderbar funktioniert
Antworten