0
QTreeWidget 항목 목록에 체크 상자가 있습니다.이 항목은 최상위 항목이 거의없는 하위 항목입니다. 선택 상태에있는 항목을 삭제하고 싶습니다. 어떻게 qtreewidget을 반복하고 해당 항목을 삭제할 수 있습니까?QTreeWidget에서 체크 된 항목을 삭제하는 방법은 무엇입니까?
QTreeWidget 항목 목록에 체크 상자가 있습니다.이 항목은 최상위 항목이 거의없는 하위 항목입니다. 선택 상태에있는 항목을 삭제하고 싶습니다. 어떻게 qtreewidget을 반복하고 해당 항목을 삭제할 수 있습니까?QTreeWidget에서 체크 된 항목을 삭제하는 방법은 무엇입니까?
쉬운. 컴파일되지 않았지만 잘하면 당신은 아이디어를 얻는다. 최상위 항목이 선택하는 경우
for(int topnum = 0; topnum < treeWidget->topLevelItemCount(); ++topnum)
{
if(Qt::Checked == treeWidget->topLevelItem(topnum)->checkState(0)) //assume one column
{
delete treeWidget->takeTopLevelItem(topnum);
--topnum; //decrement because you just removed it
} else
{
QTreeWidgetItem* topitem = treeWidget->topLevelItem(topnum);
for(int childnum = 0; childnum < topitem->childCount(); ++childnum)
{
if(Qt::Checked == topitem->child(childnum)->checkState())
{
delete topitem->takeChild(childnum);
--childnum;
}
}
}
}
는 확실하지 이해하거나 아이들이 확인되는 경우, 그래서 모두 (하하) 확인.