我想在qtableview中添加一个带复选框的列,模型是qsqlmodel。模型已经有查询,qtableview应该显示第一列中的复选框。我在google中尝试所有解决方案,但是失败了。欢迎任何帮助。
答案 0 :(得分:0)
您好,您想要关注。
设置标志
设置您希望复选框显示的列的标记。有关为复选框设置Qt::ItemFlags
的示例,请参阅此答案how do i get a checkbox item from a QTableView and QStandardItemModel alone?
即。你的模型类应该覆盖:
Qt::ItemFlags flags ( const QModelIndex & index ) const;
确保您为第一列返回Qt::ItemIsUserCheckable
。
返回已检查状态
接下来,您将要修改模型类以覆盖:
QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const;
确保它返回Qt::CheckStateRole
的内容,例如Qt::Unchecked, Qt::Checked, or Qt::PatriallyChecked
希望有所帮助!