Как я могу добавить редактируемый пользователем флажок в QTableView, используя только QStandardItemModel - PullRequest
6 голосов
/ 04 декабря 2009

У меня есть QTableView и QStandardItemModel.Есть ли столбец, который может содержать флажки, которые редактируются пользователем без использования делегатов или использования классов абстрактной модели?Дело не в том, что я не могу это сделать, я просто хочу минимизировать код, я бы нашел его излишним для простых флажков.

При использовании model.setData(index, Qt::Unchecked,Qt::CheckStateRole) это создает флажок, но он не редактируется пользователем(текст рядом с флажком).

Я использовал modelTX.setData(index, FALSE), но при этом создается поле со списком True и False.

Я попробую setItemData.

1 Ответ

17 голосов
/ 05 декабря 2009

Пожалуйста, проверьте, работает ли для вас следующий пример:

QStandardItemModel* tableModel = new QStandardItemModel();
// create text item
tableModel->setItem(0, 0, new QStandardItem("text item"));
// create check box item
QStandardItem* item0 = new QStandardItem(true);
item0->setCheckable(true);
item0->setCheckState(Qt::Checked);
item0->setText("some text");
tableModel->setItem(0, 1, item0);
// set model
ui->tableView->setModel(tableModel);

надеюсь, это поможет, с уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...