【问题标题】:how to add a column with checkbox in qtableview with model is qsqlmodel?如何在带有模型的qtableview中添加带有复选框的列是qsqlmodel?
【发布时间】:2012-07-26 20:58:25
【问题描述】:

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

【问题讨论】:

    标签: python qt checkbox pyside qtableview


    【解决方案1】:

    您好,您需要执行以下操作。

    设置标志

    为您希望复选框出现的列设置标志。有关为复选框设置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

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2019-03-02
      • 2016-12-11
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多