Здравствуйте, есть делегат, у которого виджет состоит из кнопки с иконком(iconPushButton) и некоторых остальных виджетов.
При вызове делегата иконка для iconPushButton берется из ячейки(QStandardItem), в которой был вызван делегат.
При некоторых манипуляциях иконка изменяется, но при закрытии делегата возвращается старая иконка(которая была в делегате до вызова), вот код:
void RDataTreeViewItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model,
const QModelIndex &index) const
{
RDataTreeViewItemWidget *itemWidget = static_cast<RDataTreeViewItemWidget*>(editor);
QStandardItemModel *mod = static_cast<QStandardItemModel *>(model);
QStandardItem *item = static_cast<QStandardItem *>(mod->itemFromIndex(index));
mod->setData(index, itemWidget->getText(), Qt::EditRole); //Присваивание текста выполняется правильно
item->setIcon(itemWidget->iconPushButton->icon()); //А присваивание иконки нет
}
Хотя например те же операции с текстом выполняются правильно(см комментарии в коде).
Заранее спасибо за помощь!