QMap mit einer Liste von Zeigern
Verfasst: 10. Dezember 2006 20:58
Hallo,
erstemal ein wenig Code:
also mein Ziel ist es, eine Liste von Zeigern auf QLineEdit-Widgets zu pflegen, die durch QString-Objekte indiziert werden. Dazu bemühe ich als reiner C-Programmierer nun das erste mal ein Klassentemplate (QMap).
Das ist meine "insert"-Methode. Und so versuch ich nun alle Zeiger zu durchlaufen:
Lässt sich auch prima kompillieren, allerdings bricht mein Programm leider beim Aufruf mit der Meldung "ASSERT: "item_exists()" in file /usr/include/qt4/QtCore/qmap.h, line 854"
Ich frage mich, was hier schief läuft.
Fahre ich mit QMap und der Verwaltung einer Zeigerliste auf Widget-Objekte überhaupt auf dem richtigen Dampfer? Vielleicht kann mir jemand ein Beispiel zeigen, wie man sowas mit Qt elegant bewerkstelligen kann?
Vielen Dank schonmal und noch einen schönen 2. Advent!
Marco
erstemal ein wenig Code:
Code: Alles auswählen
class TClass : public QObject {
//...
private:
QMap<QString, QLineEdit*> map;
//...
};
Code: Alles auswählen
void TClass::ConnectQLineEdit(QLineEdit *a_line_edit, QString a_field_name) {
map.insert(a_field_name, a_line_edit);
connect(a_line_edit, SIGNAL(textEdited(const QString&)), this, SLOT(Modify()));
}
Code: Alles auswählen
QMapIterator<QString, QLineEdit*> le(map);
while (le.hasNext()) {
QLineEdit *tmp = (QLineEdit*)le.value();
//mache irgendwas mit tmp->setText(..) z.b.
le.next();
}
Ich frage mich, was hier schief läuft.
Fahre ich mit QMap und der Verwaltung einer Zeigerliste auf Widget-Objekte überhaupt auf dem richtigen Dampfer? Vielleicht kann mir jemand ein Beispiel zeigen, wie man sowas mit Qt elegant bewerkstelligen kann?
Vielen Dank schonmal und noch einen schönen 2. Advent!
Marco