我有一个需要用paintEvent()绘制一些文本的程序。 我已经试过这样:用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应该是这样的:
一些大胆的文字:一些不加粗的文字。 (newLine)
一些粗体文本2:有些不粗体text2。 (newLine),并持续一段时间。
我遇到的问题是,为QString不能在它的HTML代码,使文本显示,如:
< b>Some bold text:< /b> some not bold text. < b>Some bold text 2: < /b>
some not bold text2.\n
有没有使用的paintEvent画显示文本的方式我需要它的方式?与QString(或QLabel什么的)
我正在使用Qt4。
感谢您的帮助=)
谢谢@sjwarner,但是,我需要给它一个特定的位置以满足它的需要被绘制我做了这个'document-> drawContents(&painter,QRect(QPoint.x(),QPoint)。y(),rect().width(),rect()。height()));'但它不显示任何东西。 – user1486311 2012-07-31 16:54:13
@sjtaheri似乎让你走上了正轨,所以我会离开你去的;-) – sjwarner 2012-08-01 09:37:59
谢谢! = D现在工作正常! – user1486311 2012-08-02 15:39:03