QT开发中文网

删除以下代码中的行号 bool ManageTreeXml::LoadTreeXml(QTreeWidget *pTree, QString xmlPath) 43 { 44 pTree->clear(); 45 46 if(xmlPath.isEmpty()) return false; 47 48 QDomDocument* doc = new QDomDocument; 49 QFile fl(xmlPath); 50

bool ManageTreeXml::LoadTreeXml(QTreeWidget *pTree, QString xmlPath) {

pTree->clear();

if(xmlPath.isEmpty())   return false;

QDomDocument* doc = new QDomDocument;
QFile fl(xmlPath);
if(!doc->setContent(&fl)){
    fl.close();
    return false;
}
fl.close();

showXml(pTree, doc,false);

return false;

}

bool ManageTreeXml::showXml(QTreeWidget* pTree, QDomDocument* pDoc, bool bEditable) {

if(pDoc == NULL)    return false;

// QDomNodeList RootLst = pDoc->elementsByTagName(XML_ROOT); // QDomNode root = RootLst.item(0);

QDomElement docElem = pDoc->documentElement();

QTreeWidgetItem* it = new QTreeWidgetItem;
if(bEditable){
    it->setFlags(Qt::ItemIsEditable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);
}

// qDebug() << root.toElement().tagName();

it->setText(0 ,docElem.tagName());
pTree->addTopLevelItem(it);

showXmlTreeNode(pTree, docElem.firstChild() ,it, bEditable);

pTree->expandAll();
return true;

}

bool ManageTreeXml::showXmlTreeNode(QTreeWidget* pTree, QDomNode domParent ,QTreeWidgetItem* treeParent, bool bEditable) {

while(!domParent.isNull()){
    QTreeWidgetItem* it = new QTreeWidgetItem;
    if(bEditable){
        it->setFlags(Qt::ItemIsEditable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);
    }
    setTreeNodeText(domParent ,it);
    treeParent->addChild(it);
    if(domParent.hasChildNodes()){
        showXmlTreeNode(pTree, domParent.firstChild() ,it, bEditable);
    }
    domParent = domParent.nextSibling();
}
return true;

}

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=1091

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?