Wie Sie select nächste Zeile in QTableView programmgesteuert
Habe ich QTableView
Unterklasse, die ich markieren und speichern seinen Zustand mit :
connect(this,
SIGNAL(clicked(const QModelIndex &)),
this,
SLOT(clickedRowHandler(const QModelIndex &))
);
void PlayListPlayerView::clickedRowHandler(const QModelIndex & index)
{
int iSelectedRow = index.row();
QString link = index.model()->index(index.row(),0, index.parent()).data(Qt::UserRole).toString();
emit UpdateApp(1,link );
}
nun habe ich wie programmatisch um die Auswahl zu verschieben, um die nächste Zeile (nicht durch drücken von wird die Zeile mit der Maus)
und die Berufung auf clickedRowHandler(...)
wie soll ich das tun ?
Dank
InformationsquelleAutor user63898 | 2012-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie bereits die aktuelle Zeilen-index, so etwas wie die folgenden, um den modelindex für die nächste Zeile
Dann können Sie festlegen, modelindex, da die derzeitige Nutzung
Natürlich werden Sie brauchen, um sicherzustellen, dass Sie nicht ausgeführt wird, hinter das Ende der Tabelle, und es gibt wahrscheinlich ein paar zusätzliche Schritte, um sicherzustellen, dass die gesamte Zeile ausgewählt ist, aber das sollte für dich näher.
Tabelle->selectionModel()->select( index, QItemSelectionModel::ClearAndSelect|QItemSelectionModel::Rows )
Hallo, wer weiß, wie die Auswahl des nächsten/vorherigen Zeile überspringen nicht wählbar Zeilen? Es wird also emulieren up/down-Pfeile drücken. Code oben nicht funktioniert wenn das model hat Zeilen ohne Qt::ItemIsSelectable oder Qt::ItemIsEnabled flags.
InformationsquelleAutor aldo