正常要隐藏某个qtreewidgetitem的勾选框的话,只要一行代码就行,如下:
pTreeItem->setData(0, Qt::CheckStateRole, QVariant());
但在我的代码里用这行却没效果,后来发现,我的代码里面有下面这行
pTreeItem->setCheckState(0,Qt::Unchecked);
一旦我们调用了qtreewidgetitem的setCheckState()方法,系统就默认会显示checkbox。
所以要不显示item的checkbox的话,需要做到这几点:
1.pTreeItem->setFlags()里面不要有Qt::ItemIsSelectable
2.不要调用pTreeItem->setCheckState();方法
3.调用pTreeItem->setData(0, Qt::CheckStateRole, QVariant());方法