現在需要用QT生成報告,就類似醫院檢查報告那種。
請問QT有沒有什么方法,將XML格式作為報告模板,顯示在視窗中,然后再列印出去。
如果有代碼或者相關鏈接介紹,最好。多謝了。
uj5u.com熱心網友回復:
使用以下代碼簡單實作了。自己mark一下:QString ReadFile(QString filename)
{
QFile file(filename);
if (!file.open(QFile::ReadOnly | QFile::Text))
{
return "";
}
QTextStream in(&file);
in.setCodec("utf-8");
QString myText = in.readAll();
file.close();
return myText;
}
void ExamReportMainWidget::ReadReport()
{
QString reportContent = ReadFile("E:\\Report.xml");
ui.lblReport->setText(reportContent);
}
void ExamReportMainWidget::InitReport()
{
QString begin = QString::fromLocal8Bit("<HTML><HEAD></HEAD><BODY><TABLE CELLSPACING=0 cellpadding=10 COLS=8 BORDER=1 ><TR><TD COLSPAN=8 ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=8 COLOR=RED>表格測驗</TD></TR><TR><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4 > 序號 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 日期 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 飛機 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 大炮 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 火箭 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 輪船 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 汽車 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 我的自行車 </TD></TR>");
QString mid = QString::fromLocal8Bit("<TR><TD ALIGN=CENTER VALIGN=MIDDLE >%1</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%2</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%3</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%4</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%5</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%6</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%7</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%8</TD></TR>");
QString end = QString::fromLocal8Bit("</TABLE></BODY></HTML>");
QString mid2 = mid.arg(1).arg(2).arg(3).arg(4).arg(5).arg(6).arg(7).arg(8);
QString mid3 = mid.arg("a").arg("b").arg("c").arg("d").arg("e").arg("f").arg("g").arg("h");
begin.append(mid2);
begin.append(mid3);
begin.append(end);
ui.lblReport->setText(begin);
}
uj5u.com熱心網友回復:
有個控制元件叫Textbrowser…似乎,是吧uj5u.com熱心網友回復:
有示例代碼嗎,貼出來看一下,謝謝哦。
uj5u.com熱心網友回復:
#include <QTextBrowser>
QTextBrowser t;
t.setText("");
t.setHtml("");
t.toPlainText();
t.toHtml();
只setText寫入一般字串和Label差不多,也可以載入Html,可以通過方法匯出字串或者Html。用法基本和寫網頁一樣,只有一些個別的小坑,也可能是因為我不懂Html寫法導致的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/74130.html
標籤:Qt
上一篇:.pro檔案中輸出的路徑問題
