У меня есть программа, которая должна нарисовать текст с помощью paintEvent(). я попытался это:текст с краскойEvent()
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
@sjtaheri, похоже, попал на правильный путь, поэтому я оставлю вас до него ;-) – sjwarner
спасибо! = D он отлично работает! – user1486311