Seite 1 von 1
Qt 4.3 - QList<QString> mehrere Elemente markieren
Verfasst: 4. April 2012 14:24
von Dschingis Khan
Hallo

alle zusammen!
Habe ein
QList bestehend aus
mehreren Strings erstellt, welches mir auf einem QDialog auch ausgegeben wird.
Möchte nun, dass der Benutzer auf Basis dieses QLists
zwei Elemente markieren kann. Wie mach ich das
Habe auch schon ein wenig gesucht, bin auf QSet gestoßen, aber habe auch an dieser Stelle keine passende Funktion gefunden.
Re: Qt 4.3 - QList<QString> mehrere Elemente markieren
Verfasst: 4. April 2012 17:27
von franzf
Dschingis Khan hat geschrieben:Habe ein QList bestehend aus mehreren Strings erstellt
Du hast eine QStringList.
Möchte nun, dass der Benutzer auf Basis dieses QLists
zwei Elemente markieren kann. Wie mach ich das
Strings werden per Painter auf den Dialog gemalt. von da weg gibt es keine Beziehung mehr zwischen angezeigtem und deiner StringList.
Wie genau werden deine Strings denn auf den Dialog gebracht?
Re: Qt 4.3 - QList<QString> mehrere Elemente markieren
Verfasst: 4. April 2012 17:37
von Dschingis Khan
Du hast eine QStringList.
Nagut, dann ist es ein QStringList.
Strings werden per Painter auf den Dialog gemalt. von da weg gibt es keine Beziehung mehr zwischen angezeigtem und deiner StringList.
Wie genau werden deine Strings denn auf den Dialog gebracht?
Habe das QStringList einem QLayout zugefügt und es damit in meinem QDialog ausgegeben.

Nun möchte ich, dass es per Mausklick möglich ist auf diesem Dialog zwei Zeilen zu markieren.
Im Moment ist es möglich eine Zeile zu markieren.

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren
Verfasst: 4. April 2012 18:00
von franzf
Dschingis Khan hat geschrieben:Habe das QStringList einem QLayout zugefügt
Nun möchte ich, dass es per Mausklick möglich ist auf diesem Dialog zwei Zeilen zu markieren.
Per Mausklick? Willst du nen Button oder nen Link einbauen?
Im Moment ist es möglich eine Zeile zu markieren.

Schön.
Ich bin leider immer noch genauso schlau wie vorher. Zeig doch einfach mal Code, dann wird die ganze Sache klarer, denn deine Beschreibungen sind unverständlich da unvollständig.
Re: Qt 4.3 - QList<QString> mehrere Elemente markieren
Verfasst: 4. April 2012 18:32
von Dschingis Khan
Hallo franzf

,
erst einmal Dankeschön

, deine Rückfrage hat mir selbst einen Fehler aufgezeigt. Hatte ein QList und ein QListWidget im Code und tatsächlich das QListWidget verwendet

. Dennoch bleibt die Frage bestehen.
Nun zum Code:
Code: Alles auswählen
//[Includes ...]
QDialog *dialog = new QDialog;
QListWidget *list = new QListWidget;
QLayout *layout;
QString q;
lay = new QHBoxLayout;
for (Iterator = 0; Iterator < 5; ++Iterator)
// [q holt sich Strings im Iteratortakt aus einer Datei]
list->addItem(q);
layout->addWidget(list);
dialog->setLayout(layout);
dialog->show();
}
Im Dialog befindet sich auch noch ein Button, der betätigt werden kann und dies tun soll, nachdem man zwei Zeilen in der Liste ausgewählt hat.
Um diese beiden Zeilen auszuwählen muss man sie erst anklicken. Im Moment verhält es sich so, dass sobald man eine zweite Zeile auswählt nur noch die aktuelle Zeile markiert ist.

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren
Verfasst: 5. April 2012 08:37
von archer
Das QListWidget verfügt über diverse Einstellungen für das Auswählen.
Schau dir mal QAbstractItemView::SelectionBehavior und QAbstractItemView::SelectionMode
an.
Re: Qt 4.3 - QList<QString> mehrere Elemente markieren
Verfasst: 5. April 2012 16:35
von Dschingis Khan