最近利用QT编写了一个XML文件的导入显示和内容修改程序,配合工作的某些功能实现。
根据上方的line_edit输入框体输入,写入treewidget控件,同时可导出XML文件。
在写入文件操作中的代码主要通过递归实现
int itemcount = item->childCount();
if(itemcount!=0)
{
for (int i = 0;i<itemcount;i++)
{
QTreeWidgetItem *childItem = item->child(i);
ReadTreeWidget(childItem,element,doc);
}
}
读取文件的遍历采用以下函数实现
void Widget::listDom(QDomElement& docElem, QTreeWidgetItem * pItem)
{
QDomNode node = docElem.firstChild();
if(node.toElement().isNull())
{
pItem->setText (1, docElem.text());
}
while(!node.isNull())
{
QDomElement element = node.toElement(); // try to convert the node to an element.
if( !element.isNull() )
{
QTreeWidgetItem *item;
if( pItem )
{
item = new QTreeWidgetItem(pItem);
}
else
{
item = new QTreeWidgetItem(ui->treeWidget);
}
item->setText(0, element.tagName());
listDom(element, item);
if( pItem )
{
pItem->addChild(item);
}
else
{
ui->treeWidget->addTopLevelItem(item);
}
}
node = node.nextSibling();
}
return;
}
最终,功能集成,实现界面设计。
具体代码地址:https://download.csdn.net/download/frank90_z/15136503