我有 QTreeWidgetItem
设置在 QTreeWidget
中有2列 . 两个单元格都得到了 setCheckState(...)
设置的CheckBox .
当用户在我的第一列中取消选中CheckBox时,我取消选中第2列中的第二个CheckBox .
现在,我想阻止用户再次检查第二个CheckBox . 是否可以在第2列中删除此CheckBox或仅禁用此单元格?到目前为止,我刚刚看到所有标志都在整个项目上工作,并且一组CheckBox不会消失 .
顺便说一句 . 这些项目不可编辑,我不想使用 QTableWidget
/ -Item
.
更新:
当我为项目调用setCheckState时,Qt将自动插入CheckBox:
QTreeWidgetItem *item = new QTreeWidgetItem(ui.TreeWidget);
item->setCheckState(0, Qt::Checked);
在 new
之后,该项目没有CheckBox(默认为Qt) . 调用 setCheckState(...)
我自动插入一个CheckBox(在第0列)和我想要的 Qt::CheckState
.
但是在我完成之后,就没有办法删除CheckBox - 所以看起来如此 .
也许有人有一个解决方案,我怎么能在以后摆脱这个CheckBox?任何帮助深表感谢!
1 回答
这样做:
setCheckState方法不能设置'no check state',只能设置Checked,PartiallyChecked或Unckecked .