我有QTableView
和QStandardItemModel
。是否有列可以包含用户可编辑的复选框,而无需使用委托或使用抽象模型类?这不是我不能做到的,我只想最小化代码,我会发现简单的复选框有点过分。
使用model.setData(index, Qt::Unchecked,Qt::CheckStateRole)
这会创建复选框,但用户无法编辑(复选框旁边的文字)。
我使用了modelTX.setData(index, FALSE)
,但这会创建一个包含True和False的组合框。
我会尝试setItemData
。
答案 0 :(得分:17)
请检查以下示例是否适合您:
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);
希望这有帮助,尊重