bool JudgeParentItemVisible(QTreeWidgetItem * pLayerItem)
{bool bVisible = true;QTreeWidgetItem * pParentItem = (QTreeWidgetItem *)pLayerItem->parent(); //獲取父節點if (pParentItem != NULL) //父節點不為空{if (pParentItem->checkState(0) == Qt::CheckState::Unchecked) //如果不可見返回false{bVisible = false;return bVisible;}bVisible = JudgeParentItemVisible(pParentItem); //可見繼續判斷父節點的可見性}else //說明是一級節點{if (pLayerItem->checkState(0) == Qt::CheckState::Unchecked) //如果不可見返回false{bVisible = false;}}return bVisible;
}