Hallo Forum!
Ich habe eine QListView LV_x mit zwei Spalten, die eine Aktion auslösen soll, sobald eines der Items in Spalte zwei durch den Benutzer geändert wurde.
Dafür dachte ich, könnte man das Signal itemRenamed(QListViewItem *) verwenden, das mit dem Slot vItemRenamed(QListViewItem *Item) connected ist.
Leider wird der entsprechende Slot nie aufgerufen. Verwende ich zu Testzwecken statt dem Signal itemRenamed(...) das Signal doubleClicked(...), wird der Slot aufgerufen, so dass ich sichergehen kann, dass das Signal itemRenamed(...) nicht zustande kommt.
Die zweite Spalte habe ich mit setRenameEnabled(1, true) zur Bearbeitung freigegeben.
Weiß jemand, warum mein Signal nicht aufgerufen wird?
Vielen Dank im Voraus!
QListView -> SIGNAL itemRenamed
-
- Beiträge: 32
- Registriert: 11. August 2004 12:42
Hallo benutzt du wirklich
weil ich nur
gefunden habe (zumindest in 3.3), wenn du das Signal nicht wie angegeben benutzt kann es ja nicht funktionieren
Gruß gandalf
Code: Alles auswählen
emit itemRenamed ( QListViewItem *);
Code: Alles auswählen
void itemRenamed ( QListViewItem * item, int col, const QString & text )
void itemRenamed ( QListViewItem * item, int col )
Gruß gandalf
benutzte QT 3.2 nc auf w2k
-
- Beiträge: 32
- Registriert: 11. August 2004 12:42
So ganz verstehe ich das jetzt nicht. Ich habe folgenden Code benutzt:
Code: Alles auswählen
connect(LV_x, SIGNAL(itemRenamed(QListViewItem *)), this, SLOT(vItemRenamed(QListViewItem *)));
[\code]
-- ist das falsch?
nun erlich gesagt ja
das heißt du must
benutzen
ggf halt auch
Die Typen in den Signalen müssen alle übernommen werden, es gibt keine optionalen.
Und das Signal
hab ich in der Doku nirgens gefunden
das heißt du must auch dein SLOT anpassen, da die Parameter von SIGNAL und SLOT immer gleich sein müssen
Gruß gandalf
in der doku steht haltSo ganz verstehe ich das jetzt nicht. Ich habe folgenden Code benutzt:
Code:
connect(LV_x, SIGNAL(itemRenamed(QListViewItem *)), this, SLOT(vItemRenamed(QListViewItem *)));
[\code]
-- ist das falsch?
Code: Alles auswählen
void itemRenamed ( QListViewItem * item, int col, const QString & text )
void itemRenamed ( QListViewItem * item, int col )
Code: Alles auswählen
connect(LV_x, SIGNAL(itemRenamed(QListViewItem *, int)), this, SLOT(vItemRenamed(QListViewItem *,int)));
ggf halt auch
Code: Alles auswählen
connect(LV_x, SIGNAL(itemRenamed(QListViewItem *, int, QString)), this, SLOT(vItemRenamed(QListViewItem *,int, QString)));
Und das Signal
Code: Alles auswählen
void itemRenamed ( QListViewItem * item)
das heißt du must auch dein SLOT anpassen, da die Parameter von SIGNAL und SLOT immer gleich sein müssen
Gruß gandalf
benutzte QT 3.2 nc auf w2k
-
- Beiträge: 32
- Registriert: 11. August 2004 12:42