1

美好的一天,问题很简单:使用 setHtml() 方法时,我无法在 QTextDocument 中获得新行。我的输入是:

"<i>Hello</i> <b>World</b> </br> a"

我的输出是:

你好 世界_

这意味着斜体和粗体文本都可以,但'a'应该换行。

我将在下面发布整个源代码。有几点需要注意:

1) 然后将 QTextDocument 传输到 QPrinter,以便它可以使用文本创建 PDF 文件。

2)如果您要测试程序,您应该更改第 15 行

printer.setOutputFileName("C:\\Users\\SameTime\\Desktop\\2.pdf");

走一条适合你的路。

源代码:

#include <QTextDocument>
#include <QPrinter>
#include <QApplication>
#include <QString>
int main( int argc, char **argv )
{

    QApplication app( argc, argv );
     QPrinter printer;
    printer.setOutputFormat(QPrinter::PdfFormat);
    printer.A4;
   QTextDocument doc;
   QString a ="<i>Hello</i> <b>World</b> </br> a";
   doc.setHtml(a);
   printer.setOutputFileName("C:\\Users\\SameTime\\Desktop\\2.pdf");
   doc.print(&printer);
   printer.newPage();
   return 0;
}
4

2 回答 2

2

使用<br>. </br>是无效的。

<i>Hello</i> <b>World</b> <br> a
于 2013-06-15T15:47:23.250 回答
2

里亚切几乎是对的。

虽然</br>在任何 HTML 版本中都是无效的,但某些 HTML 版本(尤其是:xhtml)的“正确”形式实际上是<br/>尽管许多浏览器可以应付<br>得很好。

于 2013-06-16T13:39:28.533 回答