【发布时间】:2012-07-31 15:23:05
【问题描述】:
我有一个程序需要使用paintEvent() 绘制一些文本。 我试过这个:
1. QPainter painter; // painter for the canvas
2. painter.drawText(QPoint location, QString canvasText);
在哪里
3. QString canvasText = variablesText.append("< b >");
4. variablesText.append((*fieldIter).second.c_str());
5. variablesText.append(":< /b > ");
6. variablesText.append(someValue);
7. variablesText.append("\n");
我需要格式化文本,canvasText 应该是这样的:
一些粗体文本:一些非粗体文本。 (新行)
一些粗体文本2:一些非粗体文本2。 (newLine) 并持续了一段时间。
我遇到的问题是 QString 中不能包含 HTML 代码,因此文本显示如下:
< b>Some bold text:< /b> some not bold text. < b>Some bold text 2: < /b>
some not bold text2.\n
有没有办法在paintEvent 中使用draw 以我需要的方式显示文本?使用 QString(或 QLabel 之类的)
我正在使用 Qt4。
感谢您的帮助 =)
【问题讨论】:
标签: html qt qt4 qstring qpainter