Mam QListView
, który zawiera niektóre elementy. Teraz chcę uzyskać indeks wybranego elementu, tj. Jeśli wybiorę 5 element, powinienem otrzymać 5. Jak mogę to uzyskać?Jak uzyskać wybrany indeks listitem w Qt
11
A
Odpowiedz
16
W każdym widoku w Qt, masz następujące metody:
QItemSelectionModel * QAbstractItemView :: selectionModel() const
Zasadniczo, to zwraca model, na którym można wykonywać czynności, jak się wybranych wskaźników ...
Sprawdźcie tutaj: QItemSelectionModel
znajdziesz wiele metod, które pomogą Ci uzyskać indeks (y).
Mam nadzieję, że pomoże!
0
Nie ma prostego sposobu, aby to zrobić, ponieważ QListView może obsługiwać struktury przypominające drzewa. Możesz sprawić, że elementy listy pochodzą z QListViewItem i dodać dodatkowy element danych do przechowywania indeksu. Musisz zresetować indeksy podczas sortowania oczywiście.
Andy mam go, ale znalazłem selectedIndexes(), ale wybrane indeksy dadzą listę musimy iteracyjne dla uzyskania modelindex. Ale chciałem API, które daje wybrany model indexindex w jednym ujęciu .. iterowanie listy jest czasochłonne. jest to dowolny bezpośredni sposób, lub musimy to zrobić tylko – Naruto
Tak, masz currentIndex (), która da ci aktualny indeks w twoim wyborze ... Nie wiem, czy znasz różnicę między wybranymi pozycjami a bieżącym indeksem ... Aktualny indeks jest ostatnio ostatnim wybranym przez ciebie indeksem ... Więc myślę, że to będzie tym, czego szukasz ... –
Tak, działa dzięki – Naruto