如何在qtableview中添加带有复选框的列与模型是qsqlmodel?

时间:2012-07-28 10:52:22

标签: python qt checkbox pyside qtableview

我想在qtableview中添加一个带复选框的列,模型是qsqlmodel。模型已经有查询,qtableview应该显示第一列中的复选框。我在google中尝试所有解决方案,但是失败了。欢迎任何帮助。

1 个答案:

答案 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

希望有所帮助!