QStandardItem* item=new QstandardItem();
item->setCheckable(true);
item->setCheckState(Qt::Unchecked);
在Qtreeview中,我使用了复选框。但是当我点击它时,没有任何反应。检查框无法点击。
有没有办法让复选框可点击?
答案 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()方法。