treewidget怎么实现子节点选中互斥,
就是根节点的子节点只能选中一个
用itemstatechanged信号槽来处理比较麻烦,容易引起事件的嵌套。
可以用 tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); 来设置选中模式。
参考:
如果你是想 全部树项只能选择一项的话,设置一下这句代码就可以了:ui.treeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
那如果你是想父项可以多选,子项只能选择一项的话,先设置这句ui.treeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
然后你得做一些逻辑处理,判断当前选中项有没有父项,有父项的话可以先获取父项,然后取消父项的所有子项的选择,最后再用代码选中刚刚选择的子项就可以了。
具体实现逻辑,这样也可以实现,还有其他很多是想方法你也可以试试!