connect mit custom QTreeWidgetItem
Verfasst: 2. März 2010 02:24
Hallo,
ich habe eine von QTreeWidgetItem abgeleitete Klasse namens TreeWidgetMenuItem. Dieses Item wurde an den Baum angefügt.
Wenn das Item nun angeklickt wird, so soll ein entsprechender Slot aufgerufen werden und diesem das TreeWidgetMenuItem übergeben werden.
Das Problem ist, dass der Parameter des entsprechenden Signals vom Typ QTreeWidgetItem ist:
Nun habe ich es folgendermaßen gelöst, was mir allerdings nicht besonders gefällt:
ich übergebe TreeWidgetMenuItem als QTreeWidgetItem und wandel es in der Slot-Prozedur wieder in ein TreeWidgetMenuItem um, um die entsprechenden Klassenmethoden verwenden zu können:
Gibt es einen anderen / eleganteren Lösungsweg?
gruß
DeaD-RaveN
ich habe eine von QTreeWidgetItem abgeleitete Klasse namens TreeWidgetMenuItem. Dieses Item wurde an den Baum angefügt.
Wenn das Item nun angeklickt wird, so soll ein entsprechender Slot aufgerufen werden und diesem das TreeWidgetMenuItem übergeben werden.
Das Problem ist, dass der Parameter des entsprechenden Signals vom Typ QTreeWidgetItem ist:
Code: Alles auswählen
connect(menuTreeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(changePage(QTreeWidgetItem*,int)));ich übergebe TreeWidgetMenuItem als QTreeWidgetItem und wandel es in der Slot-Prozedur wieder in ein TreeWidgetMenuItem um, um die entsprechenden Klassenmethoden verwenden zu können:
Code: Alles auswählen
void MainWindow::changePage(QTreeWidgetItem *item, int column){
Q_UNUSED(column);
TreeWidgetMenuItem *menuItem = static_cast<TreeWidgetMenuItem*>(item);
qDebug() << menuItem->getItemName();
}gruß
DeaD-RaveN