Qt 4.3 - QList<QString> mehrere Elemente markieren

Alles rund um die Programmierung mit Qt
Antworten
Dschingis Khan
Beiträge: 7
Registriert: 13. September 2010 10:30

Qt 4.3 - QList<QString> mehrere Elemente markieren

Beitrag 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.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren

Beitrag 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?
Dschingis Khan
Beiträge: 7
Registriert: 13. September 2010 10:30

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren

Beitrag von Dschingis Khan »

Du hast eine QStringList.
Nagut, dann ist es ein QStringList. :D
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. :wink:
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren

Beitrag 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. :wink:
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.
Dschingis Khan
Beiträge: 7
Registriert: 13. September 2010 10:30

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren

Beitrag von Dschingis Khan »

Hallo franzf :wink: ,

erst einmal Dankeschön :D , deine Rückfrage hat mir selbst einen Fehler aufgezeigt. Hatte ein QList und ein QListWidget im Code und tatsächlich das QListWidget verwendet :oops: . Dennoch bleibt die Frage bestehen. :shock:

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. :(
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren

Beitrag von archer »

Das QListWidget verfügt über diverse Einstellungen für das Auswählen.
Schau dir mal QAbstractItemView::SelectionBehavior und QAbstractItemView::SelectionMode
an.
Dschingis Khan
Beiträge: 7
Registriert: 13. September 2010 10:30

Re: Qt 4.3 - QList<QString> mehrere Elemente markieren

Beitrag von Dschingis Khan »

Hallo Archer!
Das war ein super Tipp! 1000 Dank :mrgreen: :D :D :D :)
Antworten