hallo, ich möchte mit der Hash-fkt eine Reihe von LineEdits durchlaufen. doch leider klappt es nicht ganz. Ich hatte vorher doubleSpinBoxes drin, doch die soll ich durch lineEdits ersetzten. Kann mir bitte jmd helfen.
"mit der Hash-fkt" bedeutet, dass du einen QHash verwedest, in dem deine LineEdits liegen? und it ist eine QHashIterator?
Und was klappt denn nicht so ganz?
Kompiliert es nicht?
QHashIterator ist im Übrigen ein "Java style const Iterator", was bedeutet, dass die value()s nicht verändert werden können, somit das setText() nicht klappen wird (da hakt es wohl, oder?)
Dann verwende doch einfach einen QHash::iterator.
Da klappt halt kein it.next(), dafür ein it++.
ähm ja ich hab es versucht aber es kommen Fehlermeldungen
Tabzwei.cpp: In member function 'void TabZwei::open()':
Tabzwei.cpp:64: error: no match for 'operator=' in 'i = ((TabZwei*)this)->TabZwei::_hash. QHash<Key, T>::begin [with Key = QString, T = QLineEdit*]()'
/usr/include/qt4/QtCore/qhash.h:267: note: candidates are: QHash<QString, int>::iterator& QHash<QString, int>::iterator::operator=(const QHash<QString, int>::iterator&)
/usr/include/qt4/QtCore/qhash.h:326: error: 'QHash<Key, T>::iterator::operator bool() const [with Key = QString, T = int]' is private
Tabzwei.cpp:64: error: within this context
/usr/include/qt4/QtCore/qhash.h:326: error: 'QHash<Key, T>::iterator::operator bool() const [with Key = QString, T = QLineEdit*]' is private
Tabzwei.cpp:64: error: within this context
Tabzwei.cpp:65: error: 'cout' was not declared in this scope
Tabzwei.cpp: In member function 'void TabZwei::saveData()':
Tabzwei.cpp:81: error: no matching function for call to 'QHashIterator<QString, QDoubleSpinBox*>::QHashIterator(QHash<QString, QLineEdit*>&)'
/usr/include/qt4/QtCore/qhash.h:873: note: candidates are: QHashIterator<Key, T>::QHashIterator(const QHash<Key, T>&) [with Key = QString, T = QDoubleSpinBox*]
/usr/include/qt4/QtCore/qhash.h:873: note: QHashIterator<QString, QDoubleSpinBox*>::QHashIterator(const QHashIterator<QString, QDoubleSpinBox*>&)
make: *** [Tabzwei.o] Fehler 1
Nein!
Der iterator ist dazu da, die Elemente des Hash abzuklappern, insert um in das hash einzufügen.
Darum musst du natürlich weiterhin _hash.insert(); ausführen. ch hoffe das Komma zwischen deinen beiden insert steht nicht wirklich so im Quelltext, das geht auch nicht...)
jep stimmt,
ne das Komma ist im Code nicht so. ^^
Es kommen aber immer noch viele Fehlermeldungen die ich nicht verstehe.
Tabzwei.o Tabzwei.cpp
Tabzwei.cpp:107: error: 'apertureAngleLE' was not declared in this scope
Tabzwei.cpp:108: error: expected unqualified-id before 'if'
Tabzwei.cpp:111: error: expected unqualified-id before 'else'
Tabzwei.cpp:115: error: 'highTensionLE' was not declared in this scope
Tabzwei.cpp:116: error: expected unqualified-id before 'if'
Tabzwei.cpp:118: error: expected unqualified-id before 'else'
Tabzwei.cpp:122: error: expected constructor, destructor, or type conversion before '.' token
Tabzwei.cpp:123: error: expected constructor, destructor, or type conversion before '<<' token
Tabzwei.cpp:124: error: expected declaration before '}' token
make: *** [Tabzwei.o] Fehler 1
ahh ok, das war alles ein Klammerungsfehler ^^, aber ich bekomme ein problem mit den Libraries
/QtOrdner/qtAufgNeu/AufgLineEdit$ ./AufgLineEdit
./AufgLineEdit: error while loading shared libraries: libcstools.so: cannot open shared object file: No such file or directory
nurc@praktikum:~/QtOrdner/qtAufgNeu/AufgLineEdit$