【发布时间】:2013-06-13 17:26:27
【问题描述】:
我在 QTtableview 中使用 QStandardItemModel。是否可以在列单元格中添加checkbox 并在另一个列单元格中添加combobox。
这样我就可以从组合框中选择预定义的选项。
请建议如何实现。
【问题讨论】:
标签: qt qstandarditemmodel
我在 QTtableview 中使用 QStandardItemModel。是否可以在列单元格中添加checkbox 并在另一个列单元格中添加combobox。
这样我就可以从组合框中选择预定义的选项。
请建议如何实现。
【问题讨论】:
标签: qt qstandarditemmodel
对于第一个:
您可以在 QStandardItem 上设置标志 () 以使其可检查:
Qt::ItemFlags QStandardItem::flags() const
void QStandardItem::setFlags ( Qt::ItemFlags flags )
Qt::ItemIsUserCheckable
第二个:
您应该创建自己的继承 QStyledItemDelegate 的自定义委托类并重新实现 createEditor、setEditorData 和 setModelData 方法。检查this link,更完整的例子是SpinBox Delegate example
编辑:一旦你得到你的自定义委托类,你必须告诉你的视图在给定的列中使用它QAbstractItemView::setItemDelegateForColumn
【讨论】: