一、问题:
QTreeWidget某一项加上itemWidget后,导致复选框失效问题
二、解决方法
将要加上的widget控件加到该项的后续的列,即控件跟复选框不同一列
三、具体代码
QTreeWidget* treeW = new QTreeWidget;
treeW->setColumnCount(2); // 设置2列,这个要根据你要的列数来设置QTreeWidgetItem* widItem = new QTreeWidgetItem(QStringList()<<"个数");
treeW->addTopLevelItem(widItem);
// 必须设置Qt::ItemIsUserCheckable属性
widItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsUserCheckable);
// 第一列为复选框
widItem->setCheckState(0,Qt::Unchecked);
// 第二列加入itemWidget,与复选框不同列,这样做就能解决问题
treeW->setItemWidget(widItem,1,new QDoubleSpinBox(treeW));
四、效果
对你有用就点个赞👍,以后需要用到就收藏⭐