how to create a sample HTML file using QFIle
Solved
General and Desktop
-
QString qHostVer = "<b><center><span style =font-size:10pt;>Application</span></center></b>";
QString qCheckSum = "<b><center><span style =font-size:10pt;>123</span></center></b>";
QString qTotal= "<b><center><span style =font-size:10pt;>Total</span></center></b>";
QString qNo= "<b><center><span style =font-size:10pt;>No</span></center></b>";
QString qTestedBy = "<b><center><span style =font-size:10pt;>Tested By</span></center></b>";
css1 = "<style type=\"text/css\">"; css1 += "table.tbl {border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;}"; css1 += "table.tbl td {padding: 3px;}"; css1 += "table.tbl th {padding: 3px;font-size: 18px;}"; css1+="</style>"; text1 += "<table width=\"100%\" cellspacing=\"0\" class=\"tbl\" style=\"border:1px solid black;border-collapse:collapse;\" align = center >"; text1 +=("<tr><th>"+qHostVer+"</th><th>"+qCheckSum+"</th><th>"+qTargetCheckSum+"</th>"\ "<th>"+qfont+"</th><th>"+qTestedBy+"</th></tr>"); QString text1 +=("<tr><td><center><span style =font-size:10pt;>" + 1.00 +"</span></center></td>"\ "<td><center><span style =font-size:10pt;>" + 123 +"</span></center></td>"\ "<td><center><span style =font-size:10pt;>" + +"</span></center></td>"\ "<td><center><span style =font-size:10pt;>" + o +"</span></center></td>"\ "<td><center><span style =font-size:10pt;>"+ +"</span></center></td>");
qRep = css+text;
QFile qHtmlFile(file path);
qHtmlFile.write(qRep);
qHtmlFile.close(); -
Since you are hard coding stuff anyway, you can use
QXmlStreamWriter
directly on theQFile
device to generate html:QFile qHtmlFile("myFile.html"); if(qHtmlFile.open(QIODevice::WriteOnly){ QTextStream startDocStream(&qHtmlFile); startDocStream << QStringLiteral("<!DOCTYPE html>"); QXmlStreamWriter htmlWriter(&qHtmlFile); htmlWriter.writeStartElement(QStringLiteral("html")); htmlWriter.writeAttribute(QStringLiteral("xmlns"),QStringLiteral("http://www.w3.org/1999/xhtml")); htmlWriter.writeAttribute(QStringLiteral("lang"),QStringLiteral("en")); htmlWriter.writeAttribute(QStringLiteral("xml"),QStringLiteral("lang"),QStringLiteral("en")); htmlWriter.writeStartElement(QStringLiteral("head")); htmlWriter.writeStartElement(QStringLiteral("meta")); htmlWriter.writeAttribute(QStringLiteral("http-equiv"),QStringLiteral("Content-Type")); htmlWriter.writeAttribute(QStringLiteral("content"),QStringLiteral("text/html; charset=utf-8")); htmlWriter.writeEndElement(); //meta htmlWriter.writeStartElement(QStringLiteral("title")); htmlWriter.writeCharacters(QStringLiteral("Test Page")); htmlWriter.writeEndElement(); //title htmlWriter.writeStartElement(QStringLiteral("style")); htmlWriter.writeCharacters(QStringLiteral("h1, h2, h3, h4 { color: rgb(83,129,53) } h1 { text-align: center; }")); htmlWriter.writeEndElement(); //style htmlWriter.writeEndElement(); //head htmlWriter.writeStartElement(QStringLiteral("body")); htmlWriter.writeStartElement(QStringLiteral("h1")); htmlWriter.writeCharacters(QStringLiteral("Test Page")); htmlWriter.writeEndElement(); //h1 htmlWriter.writeStartElement(QStringLiteral("h2")); htmlWriter.writeCharacters(QStringLiteral("Lorem")); htmlWriter.writeEndElement(); //h2 htmlWriter.writeStartElement(QStringLiteral("p")); htmlWriter.writeCharacters(QStringLiteral("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")); htmlWriter.writeEndElement(); //p htmlWriter.writeEndElement(); //body htmlWriter.writeEndElement(); //html }
-
Did you try to compare the HTML you generated with QTextBrowser and the one you are generating now ?