C++ (Qt)
void CSpreadsheetCell::setData(int role, const QVariant &value)
{ setDirty();
if (role == Qt::EditRole)
{
myvalue = 2;
QTableWidgetItem::setData(role, myvalue);
}
else QTableWidgetItem::setData(role, value);
}
///////////////
QVariant CSpreadsheetCell::data(int role) const
{
if(role == Qt::DisplayRole)
{
return myvalue;
}
else
{
return QTableWidgetItem::data(role);
}
}
проблема состоит в том, что при вызове из QTableWidget функции setItem(0,0,new CSpreadsheetCell("1323")); (для таблицы свой класс ячейки поставил прототипом ещё в конструкторе) значение роли редактирование присваивается, а дисплей роль пуста. Стоит запустить ячейку на редактирование и отпустить значение по дисплей роли уже равно по роли редактирования. Что не так делаю, помогите, спс?