Hallo Forum,
was wäre hier der geeignete Datentyp?
Ich habe eine Handvoll Datenpaare (Zahl - Text), sowohl Zahl als auch Text sind jeweils eindeutig. Die Zahl soll geändert werden können. Zu bestimmten Zeitpunkten muss ich die "Liste" nach den Zahlen absteigend sortieren können um herausfinden zu können wieviele Datensätze vor und hinter einem bestimmten anderen Datensatz liegen.
Beispiel:
Durchlauf 1: (1 - bla), (2 - blup), (6 - foo)
Durchlauf 2: (1- bla), (8 - blup), (6 - foo)
Sortieren nach Durchlauf 2: (8 - blup), (6 - foo), (1- bla)
Mein Ansatz wäre ein QMap. Oder gibt es da noch was Besseres?
Grüße Roland
Datentyp Liste/QMap
Ein QMap ist (wie der Name vermuten lässt) keine Liste.. da werden die Elemente beim Einfügen bereits eingeordnet (du hast also keinen Einfluss mehr auf die Reihenfolge).
Wenn du also selbst die Kontrolle über die Reihenfolge behalten möchtest, brauchst du eher was anderes:
hth..
Wenn du also selbst die Kontrolle über die Reihenfolge behalten möchtest, brauchst du eher was anderes:
Das klingt doch eher nach... eine Handvoll Datenpaare (Zahl - Text), sowohl Zahl als auch Text .... muss ich die "Liste" nach den Zahlen absteigend sortieren können
Code: Alles auswählen
QList<QPair<int, QString> > mFooList;
Danke, klingt schonmal gut.
Nur habe ich da das Problem, dass ich folgende Meldung bekomme sobald ich das Programm starte: "Das Programm ist abgestürzt."
Im Debug sieht es so aus, als wenn es hier crasht ui_mainwindow.h:
was komisch ist, denn ich füge die Zeile in testteil.h hinzu, ohne die Zeile läuft es sauber durch
Hab ich was Entscheidenes vergessen? Denn wenn ich die QList-Zeile in mainwindow.h einfüge geht es auch. Nur will ich, dass es Bestandteil von Testteil ist.
Und eigentlich wollte ich, dass ttliste ein Pointer ist. Wie würde der Code dann dafür aussehen?
Nur habe ich da das Problem, dass ich folgende Meldung bekomme sobald ich das Programm starte: "Das Programm ist abgestürzt."
Im Debug sieht es so aus, als wenn es hier crasht ui_mainwindow.h:
Code: Alles auswählen
centralWidget = new QWidget(MainWindow); Code: Alles auswählen
#include <QMap>
#include <QPair>
#include <QList>
class Testteil
{
[...]
private:
QList< QPair<int, QString> > ttliste;
}
Und eigentlich wollte ich, dass ttliste ein Pointer ist. Wie würde der Code dann dafür aussehen?