[SOLVED] Forcing font in QTextBrowser without StyleSheet or HTML
What I'm trying to do is this:
- Clone user-editable QTextBrowser's content into read-only QTextBrowser.
- Give the user possibility to change font of read-only browser by using QFontDialog. I'm storing the font as string in database.
I'm trying to do this like that:
It's not working. I know two ways of forcing font inside QTextBrowser: adding HTML tags or setting StyleSheet. I don't want to do that because I don't really know how to easly convert string returned by QFont::toString() to string accepted by QWidget::setStyleSheet() and I don't want to change the content of QTextBrowser itself (by HTML approach) as font can be changed many times...
Out of curiosity, why is qFont a pointer ?
bq. Out of curiosity, why is qFont a pointer ?
Oh, but it doesn't matter. It shouldn't be, there is no need for that.
another out of curiosity, why is cursor.beginEditBlock()/cursor.endEditBlock() needed.
I believe you can do without them. These calls must be placed around the actual editing call(cursor.setCharFormat(format);) to make any difference. If you do not care about Undo of the font change, you can do without them completely.
Haha, I'm not "Certified Specialist" like you two, guys. I just solved my problem and it's working so I've posted this solution because I've found that a lot of others had the same problem and it wasn't really solvable through Google.
I thought startEditBlock/endEditBlock works differently (I won't describe how as it's not true anyway - I just didn't read the docs careful enough). I needed this quick so I didn't really care much about being accurate or efficient, just wanted this to work and shared as soon as it worked. :)
No, hard feelings. I just wanted to optimize your finding a bit further. :-)