Mam wskaźnik do obiektu strony trzeciej QListView
, który po prostu wyświetla wiersze tekstu. Jaki jest najlepszy sposób na uzyskanie tego ciągu tekstowego?Uzyskiwanie tekstu z QListView
Odpowiedz
modelu dostępnego przez QListView::model()
, posiada elementy. Można zrobić coś takiego:
QListView* view ; // The view of interest
QAbstractItemModel* model = view->model() ;
QStringList strings ;
for (int i = 0 ; i < model->rowCount() ; ++i)
{
// Get item at row i, col 0.
strings << model->index(i, 0).data(Qt::DisplayRole).toString() ;
}
też wspomnieć chcieliby Państwo uzyskać aktualizowane struny, gdy tekst jest napisane - można to zrobić poprzez podłączenie modelu dataChanged()
sygnał do funkcji, która wydobywa sznurki. Zobacz QAbstractItemModel::dataChanged()
.
Możesz poprosić obiekt QListView o jego główny QModelIndex i użyć go do powtórzenia różnych wpisów za pomocą metod rodzeństwa/dzieci. Dostęp do tekstu powiązanego z każdym indeksem można uzyskać, wywołując metodę danych w indeksie z rolą określoną jako Qt :: DisplayRole.
Aby uzyskać więcej informacji zobacz następujące dokumenty:
QAbstractItemView - klasa rodzic QListView
i http://doc.trolltech.com/4.5/qvariant.html#toString –
dzięki, chory, spróbuj. Czy jest jakiś slot, z którym mogę się połączyć, aby to zrobić, gdy zostanie do niego napisany nowy tekst? –
- 1. Uzyskiwanie tekstu z UIAlertView
- 2. Niestandardowe elementy w QListView
- 3. Hover zdarzenia QListView?
- 4. Uzyskiwanie widocznego tekstu strony z selenowym webdriverem
- 5. Jak uzyskać wybrane elementy z QListView?
- 6. Uzyskiwanie wymiarów tekstu w SFML
- 7. Uzyskiwanie tekstu węzła w PHP DOM
- 8. QT4: Czy możliwe jest płynne przewijanie QListView?
- 9. Uzyskiwanie fizycznej lokalizacji tekstu w UILabel
- 10. Uzyskiwanie widocznego tekstu w kolumnach CSS3
- 11. Android TextView i uzyskiwanie linii tekstu
- 12. Uzyskiwanie n-tej linii tekstu wyjściowego
- 13. Pozbądź linią przerywaną Qt na pozycji QListView
- 14. Zmiana trybu zaznaczania wielokrotnego dla QListView
- 15. Sygnał, gdy wybór QListView zmienia się z powodu działania klawiatury?
- 16. UITextView kolor tekstu nie uzyskiwanie ustawione gdy wyłączona właściwość wyboru
- 17. Uzyskiwanie nieprzetworzonego tekstu za pomocą @ Html.ActionLink w Razor/MVC3?
- 18. Uzyskiwanie dostępu do tekstu dyrektywy kątowej (elementu) wewnątrz szablonu
- 19. Uzyskiwanie ustawień regionalnych dla zamiany tekstu na mowę (TTS)
- 20. Uzyskiwanie wartości tekstowych li (bez tekstu w zagnieżdżonych elementach)
- 21. Uzyskiwanie wartości z textarea TinyMCE
- 22. Uzyskiwanie NSImage z CGImageRef
- 23. Uzyskiwanie obiektu z NSSet
- 24. Uzyskiwanie UITableViewCell z UITapGestureRecognizer
- 25. Uzyskiwanie metadanych z MPMoviePlayerController
- 26. Uzyskiwanie obrazu z ImageView
- 27. Uzyskiwanie const_iterator z iteratora
- 28. Uzyskiwanie "skali" z CATransform3D
- 29. Uzyskiwanie wideo z ALAsset
- 30. Uzyskiwanie kontekstu z NativeActivity
czy to prawda? QObject :: connect (model, SIGNAL (dataChanged (QModelIndex, QModelIndex)), client_, SLOT (onText())) gdzie client_ jest klasą wywodzącą się z QObject, a onText jest zadeklarowany jako publiczny. –
Tak, to jest pomysł. Jeśli twój podpis onText() również pasuje do danych dataChanged(), będziesz mógł przechodzić tylko przez indeksy, w których zmieniły się dane, a nie całą listę. – swongu
to jest teraz moja linia: QObject :: connect (model, SIGNAL (dataChanged (const QModelIndex, const QModelIndex)), client_, SLOT (onText (const QModelIndex, const QModelIndex))); zwraca true, ale nie widzę cout wstawić funkcję "onText". Jakieś pomysły? –