如何从Qtreeview点击复选框

时间:2018-06-04 12:02:21

标签: qt

Qtreeview checkbox

QStandardItem* item=new QstandardItem();
item->setCheckable(true);
item->setCheckState(Qt::Unchecked);

在Qtreeview中,我使用了复选框。但是当我点击它时,没有任何反应。检查框无法点击。

有没有办法让复选框可点击?

1 个答案:

答案 0 :(得分:0)

我认为您需要使用setFlags()方法为项目设置正确的标记,如下面的代码段所示:

>>> employeeModel.objects.all()
<QuerySet [<employeeModel: Emp001>, <employeeModel: Emp003>, <employeeModel: Emp004>, <employeeModel: Emp006>, <employeeModel: Emp006>, <employeeModel: Emp0010>, <employeeModel: Emp0011>, <employeeModel: Emp0012>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp0013>, <employeeModel: Emp004>, <employeeModel: Emp0014>, <employeeModel: Emp0015>, '...(remaining elements truncated)...']>

您可以使用几个标志来定义其他行为(编辑,选择等)。请查看此link以获取每个的详细说明。使用管道&#39; |&#39;像我在示例中所做的那样将一组标志组合在一起。

如果您正在为QTreeView使用模型,则可能需要在继承类中覆盖QAbstractItemModel::flags()方法。