Signale von den Items eines QTreeWidgets abgeben lassen

Alles rund um die Programmierung mit Qt
Antworten
Kai_002
Beiträge: 30
Registriert: 15. Januar 2007 13:47

Signale von den Items eines QTreeWidgets abgeben lassen

Beitrag von Kai_002 »

Hallo,

ich versuche gerade die QTreeWidgetItems, die sich in meinem QTreeWidget befinden dazu zu bringen Signale abzugeben. Allerdings verfügt die Klasse "QTreeWidgetItems" über keine Signale, weshalb ich mich auf die Klasse "QTreeWidget" stütze. Theoretisch scheint auch alles vorhanden zu sein was ich brauche, aber praktisch funktioniert es einfach nicht. Das ausgesendete Signal kommt einfach nicht bei der Slot-Methode an. Ich habe schon einige Varianten und Signale ausprobiert. Von denen die folgende eine der einfachsten ist:

Code: Alles auswählen

connect(this, SIGNAL (itemClicked (this->currentItem(), 0)), this, SLOT(test()));

connect(this, SIGNAL (itemClicked (this->currentItem(), 1)), this, SLOT(test()));
this bezieht sich auf die QTreeWidget-Klasse.

Was für Möglichkeiten habe ich denn noch, um mein Problem zu lösen?


Danke schonmal,
Kai.
Dawn
Beiträge: 11
Registriert: 5. Dezember 2006 08:20
Wohnort: Hagen
Kontaktdaten:

Beitrag von Dawn »

Code: Alles auswählen


connect(this, SIGNAL (itemClicked (QTreeWidgetItem*, int)), this, SLOT(test(QTreeWidgetItem*, int)));

connect(this, SIGNAL (itemClicked (QTreeWidgetItem*, int)), this, SLOT(test(QTreeWidgetItem*,int))); 
den parameter in den slots/signals dürfen keine Werte zugewiesen werden, sondern es müssen die Prototypen angegeben werden.
If you smile and no one else is around, you really mean it
Kai_002
Beiträge: 30
Registriert: 15. Januar 2007 13:47

Beitrag von Kai_002 »

o.k., Danke - so funktioniert es jetzt.


Aber was ist wenn die Items nicht erst auf das click-Event reagieren sollen, sondern bereits dann wenn sie mit der Tastatur ausgewählt worden sind? Spontan würde mir so etwas wie ein "isSelected"- oder "hasFocus" - Signal einfallen. Nur leider scheint es sowas nicht zu geben.
Allerdings muss dafür doch ein Signal existieren. Schließlich ändert sich ja jedesmal die Hintergrundfarbe des Items bzw. seiner Zeile sobald es ausgewählt wird.


Tschüß und Danke wider mal,
Kai.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dann arbeite dich mal ab hier

Code: Alles auswählen

QItemSelectionModel * QAbstractItemView::selectionModel () const
durch die Dokumentation. Da findest du alles was du brauchst...
Antworten