hallo,
ich habe folgendes problem.
ich habe 3 daten in ein qlistwidget über ein qlistwidgetitem eingelesen. hat auch soweit geklappt.
aufbau:
1 456687.999 3444433.993
2 344343.222 3445353.223
3 334232.123 3553332.345
...
nur jetzt würd ich gern, wenn ich einen eintrag in dem listwidget selektiere, z.b. den 2., dass dann die zwei koordinatenwerte (hab ich schön in arrays gespeichert) mit anderen koordinaten (auch in arrays drin) verglichen werden und wenn sie übereinstimmen eine Textmeldung ausgegeben wird.
hab in der doku gesehen, dass es den Befehl QListWidget::itemClicked gibt, nur weiß ich nicht, wie ich den anwenden soll. Muss ich den dann noch in meiner Header datei hinschreiben, wenn es ein Signal ist oder wie mach ich des.
ich hoffe jemand kann mir da helfen, oder mir ein Beispiel von irgendwo nennen mit etwas ähnlichem.
danke im voraus
mfg stash
QListWidget itemclicked
Re: QListWidget itemclicked
Das ist ein Signal. Das connectest Du mit deiner Funktion, die Du vorher als Slot deklariert hast, und gut ist. Lies dazu die Doku, Stichwort 'Signals and Slots'.Stash hat geschrieben:hab in der doku gesehen, dass es den Befehl QListWidget::itemClicked gibt,
Das QListWidgetItem* ist ein Pointer auf die angewählte Zelle deiner Liste. Du kannst darüber u.a. den Text auslesen den du siehst und so an die Daten kommen. Eleganter ist aber normalerweise wenn du eine interne Repräsentation deiner Liste hast (z.B. einen Array in der gleichen Größe wie die Liste) und dir von dem QListWidget per
den index des Items geben lässt, dieser müsste dann ja in deiner internen Liste auf die gleichen Daten verweisen.
Code: Alles auswählen
int row ( const QListWidgetItem * item ) const