[gelöst] Signal aus einem ItemDelegate
Verfasst: 4. Dezember 2015 17:17
Ich nutze einen QTreeView, ein abgeleitetes QAbstractItemModel und ein abgeleitetes QItemDelegate. Wenn ich aus dem Delegate ein selbst definiertes Signal senden möchte, meint mein Compiler:
Hier mein Code:
Das geht vermutlich nicht, weil ich das Signal aus einer const Methode sende? Mein Ziel ist es, dem View mitzuteilen, dass der Tree unterhelb eines bestimmten Index expanded werden soll, nachdem Daten durch den Delegate geändert wurden.
-> Wie könnte ich das am besten machen?
-> Ist es prinzipiell der falsche Weg, zu versuchen, Signale aus einem Delegate zu senden?
Code: Alles auswählen
'MyDelegate::sigExpand': this-Zeiger kann nicht von 'const MyDelegate' in 'MyDelegate &' konvertiert werden
Code: Alles auswählen
MyModel* model = new MyModel(...);
QTreeView* view = new QTreeView();
MyDelegate* myDelegate = new MyDelegate();
...
connect(myDelegate, SIGNAL(sigExpand(QModelIndex)), view, SLOT(expand(QModelIndex)));
view->setModel(model);
view->setItemDelegateForColumn(0, myDelegate);
Code: Alles auswählen
void MyDelegate::setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const
{
...
emit sigExpand(someIndex);
...
}
-> Wie könnte ich das am besten machen?
-> Ist es prinzipiell der falsche Weg, zu versuchen, Signale aus einem Delegate zu senden?