基本信息
源码名称:QTreeWidget读写xml文件
源码大小:1.71M
文件格式:.rar
开发语言:C/C++
更新时间:2020-07-09
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
本示例将xml文件读取到QTreeWidget,且可以将QTreeWidget节点保存到xml文件中。
生成的exe在testtree文件夹的debugbin目录中,且源xml也在此目录中。
程序启动后,点击treexml即可。
具体请下载源码。
bool ManageTreeXml::SaveTreeXml(QTreeWidget *pTree, QString xmlPath)
{
QDomDocument doc;
QDomProcessingInstruction head = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(head);
//invisibleRootItem()函数并不是得到我们想要的这个顶层节点,它得到的是所有节点的最终根节点,因此,得到顶层节点需要自己写操作,下面是根据任意一个节点获取其可见顶层节点的代码
QTreeWidgetItem *rootItem = pTree->invisibleRootItem(); //树的根节点
QTreeWidgetItem* childItem = rootItem->child(0);
QString strRoot;
strRoot = childItem->text(0);
QDomElement root = doc.createElement(strRoot);
doc.appendChild(root);
SaveItem(root, childItem, doc);
QFile file(xmlPath);
if (!file.open(QIODevice::WriteOnly)){
return false;
}
QString xml = doc.toString();
QTextStream txtOutput(&file);
// txtOutput.setCodec("UTF-8");
// txtOutput<<xml;
doc.save(txtOutput, 4);
file.close();
return true;
}
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;
}