2013-04-07 5 views

답변

1

쉬운. 컴파일되지 않았지만 잘하면 당신은 아이디어를 얻는다. 최상위 항목이 선택하는 경우

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; 
      } 
     } 
    } 
} 

는 확실하지 이해하거나 아이들이 확인되는 경우, 그래서 모두 (하하) 확인.