我在一个带有两列的QTreeWidget
中设置了一个QTreeWidgetItem
。两个单元格都通过setCheckState(...)
设置了一个复选框。
当用户取消勾选第一列的复选框时,我会取消勾选第二列中的复选框。
现在,我想防止用户再次勾选这个第二列的复选框。是否可以删除第二列的此复选框或仅禁用此单元格? 到目前为止,我只看到所有标志都作用于整个项目,设置的复选框不会消失。
顺便说一下,这些项目是不可编辑的,我不想使用QTableWidget
/-Item
。
更新:
当我为该项目调用setCheckState
时,Qt会自动插入复选框:
QTreeWidgetItem *item = new QTreeWidgetItem(ui.TreeWidget);
item->setCheckState(0, Qt::Checked);
在使用
new
创建一个项目后,默认情况下该项目不拥有复选框。调用setCheckState(...)
会自动插入一个复选框(这里是在第0列),并设置所需的Qt::CheckState
。但是一旦插入了复选框,似乎就无法再将其移除了。
也许有人能提供解决方案,以便在以后的某个时间点上去掉这个复选框?非常感谢任何帮助!