views:

1293

answers:

2

I want to write a single, bold red line in my application using Qt.

As far as I understand, I would create a QLabel, set its textFormat to rich text and give it a rich text string to display:

QLabel *warning = new QLabel;
warning->setTextFormat(Qt::RichText);
warning->setText("{\\rtf1\\ansi\\ansicpg1252 {\\fonttbl\\f0\\fswiss\\fcharset0 Helvetica;} {\\colortbl;\\red255\\green0\\blue0;} \\f0 \\cf0 this is bold red text}");

I tested this rich text string in a rich text editor and it displays fine.

But Qt displays the whole string with all braces, keywords and backslashes instead of "this is bold red text". What am I doing wrong?

Thank you for your help.

+5  A: 

Try using HTML formatting: <b><font... etc </b>.

Qt Designer does it like this: <span style=" font-size:8pt; font-weight:600; color:#aa0000;">TextLabel</span>

rpg
+2  A: 

Qt uses a simple HTML subset for formatting.

gnud