Ich bin eine QListView enthält einige Elemente. Jetzt möchte ich, um den index des ausgewählten Elements, d.h. wenn ich " 5. element, ich sollte 5. Wie kann ich das?
Finden Sie zahlreiche Methoden, um Ihnen helfen, Ihren index(es).
Hoffe, es hilft!
Andy ich habe es, aber ich fand selectedIndexes (), aber ausgewählten Indizes geben die Liste, müssen wir die Iteration für das erhalten der modelindex. Aber ich wollte ein API, das gibt das ausgewählte Element modelindex in one shot.. Durchlaufen der Liste ist zeitaufwendig Recht.. gibt es einem direkten Weg, oder wir tun müssen, wie dies nur Ja, Sie haben currentIndex() , geben Sie den aktuellen index in der Auswahl... ich weiß nicht, ob Sie kennen den Unterschied zwischen den ausgewählten Elementen und aktuellen index... Der aktuelle index ist ein bisschen der Letzte index, den Sie ausgewählt... Also ich denke es wird das sein, was du suchst... Ja, es funktioniert, vielen Dank Kann es größere Differenz zwischen dem aktuellen index und ausgewählten index. Die aktuelle ist die man mit dem Fokus in der Liste, und es kann oder mag nicht ausgewählt werden. In meiner Firma, wir machten eine kurze wrapper-Funktion, um die Auswahl-Modell, Holen Sie sich die Auswahl-Liste, und falls die Liste nicht leer ist, senden Sie das erste Element in der Liste. Das funktioniert für die Listen festgelegt werden, nicht zulassen, dass mehrere Auswahl, und Sie wirklich brauchen nur zu schreiben, die Funktion einmal. Der link scheint nicht verfügbar zu sein (zumindest im moment). Also für alle vor dem gleichen problem: ich habe den index des aktuell ausgewählten Elements wie diese: listWidget->selectionModel()->currentIndex().row() schließlich
Es gibt keinen einfachen Weg, dies zu tun, da QListView verarbeiten kann Baum-ähnlichen Strukturen.
Sie können Ihre Liste der Elemente ableiten von QListViewItem und fügen Sie eine zusätzliche Daten-Mitglied, um einen index.
Sie haben zum rücksetzen der Indizes bei der Sortierung natürlich.
In jeder Ansicht in Qt, müssen Sie die folgende Methode :
QItemSelectionModel * QAbstractItemView::selectionModel () const
Grundsätzlich, es gibt ein Modell, auf dem Sie Aktionen ausführen können, wie immer ausgewählte Indizes...
Haben einen Blick hier : QItemSelectionModel
Finden Sie zahlreiche Methoden, um Ihnen helfen, Ihren index(es).
Hoffe, es hilft!
Ja, Sie haben currentIndex() , geben Sie den aktuellen index in der Auswahl... ich weiß nicht, ob Sie kennen den Unterschied zwischen den ausgewählten Elementen und aktuellen index... Der aktuelle index ist ein bisschen der Letzte index, den Sie ausgewählt... Also ich denke es wird das sein, was du suchst...
Ja, es funktioniert, vielen Dank
Kann es größere Differenz zwischen dem aktuellen index und ausgewählten index. Die aktuelle ist die man mit dem Fokus in der Liste, und es kann oder mag nicht ausgewählt werden. In meiner Firma, wir machten eine kurze wrapper-Funktion, um die Auswahl-Modell, Holen Sie sich die Auswahl-Liste, und falls die Liste nicht leer ist, senden Sie das erste Element in der Liste. Das funktioniert für die Listen festgelegt werden, nicht zulassen, dass mehrere Auswahl, und Sie wirklich brauchen nur zu schreiben, die Funktion einmal.
Der link scheint nicht verfügbar zu sein (zumindest im moment). Also für alle vor dem gleichen problem: ich habe den index des aktuell ausgewählten Elements wie diese:
listWidget->selectionModel()->currentIndex().row()
schließlichInformationsquelleAutor Andy M
Es gibt keinen einfachen Weg, dies zu tun, da QListView verarbeiten kann Baum-ähnlichen Strukturen.
Sie können Ihre Liste der Elemente ableiten von QListViewItem und fügen Sie eine zusätzliche Daten-Mitglied, um einen index.
Sie haben zum rücksetzen der Indizes bei der Sortierung natürlich.
InformationsquelleAutor rep_movsd