2024年6月13日发(作者:)
85 {
86 while(!()){
87 QTreeWidgetItem* it = new QTreeWidgetItem;
88 if(bEditable){
89 it->setFlags(Qt::ItemIsEditable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);
90 }
91 setTreeNodeText(domParent ,it);
92 treeParent->addChild(it);
93 if(ldNodes()){
94 showXmlTreeNode(pTree, hild() ,it, bEditable);
95 }
96 domParent = bling();
97 }
98 return true;
99 }
100
101 void ManageTreeXml::setTreeNodeText(QDomNode Node ,QTreeWidgetItem* treeNode)
102 {
103 if(treeNode == NULL) return;
104
105 treeNode->setText(0 ,ent().tagName());
106 // qDebug() << "ItemText:" << ent().tagName();
107
108 QString treeType = TREE_PACKAGE_TYPE;
109 if(treeType == TREE_LINK_TYPE)
110 {
111 // treeNode->setText(1 ,ent().attribute("portName"));
112 // treeNode->setText(2 ,ent().attribute("portDesc"));
113 // treeNode->setText(3 ,ent().attribute("portType"));
114 // treeNode->setText(4 ,ent().attribute("portIP"));
115 // treeNode->setText(5 ,ent().attribute("portOrBaudRate"));
116 }
117 else if(treeType == TREE_PACKAGE_TYPE)
118 {
119 // treeNode->setText(1 ,ent().attribute("Value"));
120 // treeNode->setText(2 ,ent().attribute("Name"));
121 // treeNode->setText(3 ,ent().attribute("Index"));
122 // treeNode->setText(4 ,ent().attribute("Type"));
123 // treeNode->setText(5 ,ent().attribute("Len"));
124 // treeNode->setText(6 ,ent().attribute("Desc"));
125 }
126 }
127
128
129 void ManageTreeXml::SaveItem(QDomElement& root, QTreeWidgetItem *item, QDomDocument& doc)
130 {
131 int countChild = item->childCount();
132 for (int i = 0; i < countChild; i++)
133 {
134 QTreeWidgetItem *childItem = item->child(i);
135 QString itemTxt = childItem->text(0);
136 QDomElement ele = Element(itemTxt);
137 Child(ele);
138
139 SaveItem(ele,childItem,doc);
140 }
141 }
View Code
ManageTreeXml.h
1 #ifndef MANAGETREEXML_H
2 #define MANAGETREEXML_H
3 #include
4 #include
5
6 class ManageTreeXml
7 {
8 public:
9 ManageTreeXml();
10
11 bool SaveTreeXml(QTreeWidget* pTree, QString xmlPath);
12 bool LoadTreeXml(QTreeWidget* pTree, QString xmlPath);
13 private:
14 bool showXml(QTreeWidget* pTree, QDomDocument *pDoc, bool bEditable);
15 bool showXmlTreeNode(QTreeWidget* pTree, QDomNode domParent, QTreeWidgetItem *treeParent, bool bEditable);
16 void setTreeNodeText(QDomNode Node, QTreeWidgetItem *treeNode);
17
18 void SaveItem(QDomElement& root,QTreeWidgetItem* item,QDomDocument& doc);
19 };
20
21 #endif // MANAGETREEXML_H
View Code
1 #include "DlgTreeXml.h"
2 #include "ui_DlgTreeXml.h"
3 #include "ManageTreeXml.h"
4
5 DlgTreeXml::DlgTreeXml(QWidget *parent) :
6 QDialog(parent),
7 ui(new Ui::DlgTreeXml)
发布评论