标签:style color os io for 文件 ar 问题 cti
这两天工作搞了下QT,主要是为了实现一个功能,跨平台用的。功能是这样的,根据一个页面表单进行选择元素最后生成一个xml文件发送到手机上,因为之前实现了xmpp发送文件的作用,所以现在只需要根据文件生成一个xml文件。中途还算顺利,两天搞定!
最终创建xml的代码就是这一段:
void hellodialog::create_Xml()
{
QString fileName = QFileDialog::getSaveFileName(this,"Save","",".xml");
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QIODevice::Text))
{
return ;
}
QDomDocument document;
QString strHeader( "version=\"1.0\" encoding=\"UTF-8\"" );
document.appendChild( document.createProcessingInstruction("xml", strHeader) );
QDomElement root_elem = document.createElement("node");
document.appendChild(root_elem);
QDomElement child1 = document.createElement("component");
child1.setAttribute("type","Visualable");
root_elem.appendChild(child1);
QDomElement child2 = document.createElement("component");
child2.setAttribute("type","ProxyDeform");
root_elem.appendChild(child2);
QString mesh ="Model:";
mesh += fileNameMesh;
mesh += ":clone";
QDomElement item1 = document.createElement("attribute");
item1.setAttribute("name","Model");
item1.setAttribute("value",mesh);
child1.appendChild(item1);
QDomElement item2 = document.createElement("attribute");
item2.setAttribute("name","Is build Tangent");
item2.setAttribute("value",isBuildTangent);
child1.appendChild(item2);
QString material = "name=";
material += comboBoxDiff;
material += ",specular=";
material += lineEditR;
material += " ";
material += lineEditG;
material += " ";
material += lineEditB;
material += " ";
material += lineEditE;
material += ",bumpiness=";
material += bumpiness;
material += ",cull=";
material += comboBoxCull;
material += ",Texture=";
material += diffPicture;
QDomElement item3 = document.createElement("attribute");
item3.setAttribute("name","MaterialName");
item3.setAttribute("value",material);
child1.appendChild(item3);
QDomElement item4 = document.createElement("attribute");
item4.setAttribute("name","Z Modify");
item4.setAttribute("value",modifyZ);
child1.appendChild(item4);
QString vertex;
vertex += "VertexProxyTable:";
vertex += fileNameProxy;
QDomElement item5 = document.createElement("attribute");
item5.setAttribute("name","VertexProxyTable");
item5.setAttribute("value",vertex);
child2.appendChild(item5);
QString object3D;
object3D += "Object3D:";
object3D += fileNameObj;
object3D += ":clone";
QDomElement item6 = document.createElement("attribute");
item6.setAttribute("name","Object3D");
item6.setAttribute("value",object3D);
child2.appendChild(item6);
QTextStream out( &file );
document.save( out, 4 );
file.close();
}如果有报一些.dll的错误的话,则需要使项目重新qmake一下,中途卡在这边一点时间。COFF的错误的话需要下载一个SP1,一般是不会碰到这种错误的,自己是因为安装VS2012后面卸载有点兼容问题吧。生成的xml格式类似下面这种:
在此记录下,自己也是第一次用QT做点东西,多掌握点东西对自己总是好的,加油!
标签:style color os io for 文件 ar 问题 cti
原文地址:http://blog.csdn.net/fuyuehua22/article/details/38852423