代码拉取完成,页面将自动刷新
#include "toptable.h"
#include <QFileDialog>
#include <QDomDocument>
#include <QStandardItemModel>
#include <QMessageBox>
#include <QDebug>
topTable::topTable(QWidget *parent) :
QTreeView(parent)
{
_initValue();
_initTopTable();
}
//********************************************************************************
//函数名:_initTopTable
//功能:初始化列头
void topTable::_initTopTable()
{
// 设置7段列标:1方向,2序号,3方向,4时间,5源码
// lineNum=0;
model->setColumnCount(5);
model->setHeaderData(CO_DERICTION1_C,Qt::Horizontal,tr("1方向"));
model->setHeaderData(CO_NUM_C,Qt::Horizontal,tr("2序号"));
model->setHeaderData(CO_DERICTION2_C,Qt::Horizontal,tr("3方向"));
model->setHeaderData(CO_TIME_C,Qt::Horizontal,tr("4时间"));
model->setHeaderData(CO_CODE_C,Qt::Horizontal,tr("5源码"));
}
//********************************************************************************
//函数名:_initValue
//功能:所有变量都要拿出来初始化
void topTable::_initValue()
{
lineNum=0;
model=new QStandardItemModel();//->数据模型
domDocument=new QDomDocument();//->dom对象
}
//********************************************************************************
//->函数名:bool brieftable::read(QIODevice *device)
//->功能:读取xml文件
bool topTable::read(QIODevice *device)
{
QString errorStr;
int errorLine;
int errorColumn;
if(!domDocument->setContent(device,true,&errorStr,&errorLine,
&errorColumn)){
QMessageBox::information(window(),tr("104解析"),
tr("Parse error at line %1, column %2:\n%3")
.arg(errorLine)
.arg(errorColumn)
.arg(errorStr));
return false;
}
//获取根节点
QDomElement root=domDocument->documentElement();
if(root.tagName()=="Root"){
QMessageBox::information(window(),tr("你已经读到.log文件"),
tr("提示:你已经读到了.log文件"));
}
QDomElement child =root.firstChildElement("Record");
_parseRecordElement(child);
while(!child.isNull()){
_parseRecordElement(child);
child=child.nextSiblingElement("Record");
}
return true;
}
//********************************************************************************
//函数名:void parseReordElement(const QDomElement &element,
//功能:解析每个文件夹元素
void topTable::_parseRecordElement(const QDomElement &element)
{
//添加方向0 2
QString deriction_C=element.firstChildElement("Deriction").text();
if(deriction_C=="Receive"){
model->setItem(lineNum,CO_DERICTION1_C,new QStandardItem("-->R"));
}else
model->setItem(lineNum,CO_DERICTION1_C,new QStandardItem("<--S"));
model->setItem(lineNum,CO_DERICTION2_C,new QStandardItem(deriction_C));
//添加时间5
QString time_C=element.firstChildElement("Time").text();
model->setItem(lineNum,CO_TIME_C,new QStandardItem(time_C));
//添加源码6
QString data_C=element.firstChildElement("Data").text();
model->setItem(lineNum,CO_CODE_C,new QStandardItem(data_C));
//添加序号1
model->setItem(lineNum,CO_NUM_C,new QStandardItem(tr("%1").arg(lineNum)));
++lineNum;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。