_inputfileModel
является указателем типа QStandardItemModel
, я хочу использовать его функцию-член children()
, чтобы получить детские предметы. Но в следующих кодах int childrenNum = _inputfileModel->children().size();
childrenNum
результат не 1, а 0. Но когда я использую hasChildren()
, возвращаемое значение истинно. Может ли кто-нибудь объяснить, почему? И действует ли функция children()
для детей или всех детей?Почему функция участника QStandardItemModel children(). Size() возвращает 0, а функция hasChildren() возвращает true?
void InputTree::addTreeNode(TreeNode &node){
QStringList inputImgList = node.picturePathList;
int num = inputImgList.size();
if(num < 1){ return ;}
QStandardItem *fatherItem = new QStandardItem;
fatherItem->setIcon(node.fatherIcon);
fatherItem->setText(node.fatherNodeName);
fatherItem->setData(FOLDER,ItemTypeRole);
for(int i = 0; i < num; ++i)
{
QStandardItem *pictureItem = new QStandardItem;
pictureItem->setText(node.imageNodeName.at(i));
pictureItem->setIcon(node.imgIcon);
pictureItem->setData(PICTURE,ItemTypeRole);
fatherItem->appendRow(pictureItem);
}
_inputfileModel->appendRow(fatherItem);
bool has_child = false;
has_child = _inputfileModel->hasChildren();
int childrenNum = _inputfileModel->children().size();
}