У меня проблема, не пишется текст в ячейке TableView. Мне нужно чтобы после нажатия на кнопку у меня добавился текст в ячейку. Но он не добавляется.
У меня две кнопки и я в функции смотрю которую я нажал и от этого должен добавляться разный текст. Я делаю так:
void TableModel::insertComponent(Type type)
{
if(type == CATEGORY)
{
std::unique_ptr<Category> category(new Category("Новая категория"));
mCompositeComponent->addChild(std::move(category));
this->insertRows(this->rowCount(), 1);
}
if(type == TEST)
{
std::unique_ptr<Test> test(new Test("Новый текст"));
mCompositeComponent->addChild(std::move(test));
this->insertRows(this->rowCount(), 1);
}
}
В data я добавляю name.
QVariant TableModel::data(const QModelIndex& index, int role) const
{
const int row = index.row();
const int col = index.column();
if (role == Qt::DisplayRole)
{
const Component* component = mCompositeComponent->child(row);
return QString(component->name());
}
return QVariant();
}
И сама обработка кнопок:
void Widget::addCategoryClicked()
{
mTableModel->insertComponent(CATEGORY);
}
void Widget::addTestClicked()
{
mTableModel->insertComponent(TEST);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости