QFontDatabase/QFont question
John Sturtz
john at sturtz.org
Sun Jan 5 22:37:35 GMT 2025
Hi again.
Wondering if anyone can help me understand this behavior that, to me, is
unexpected.
I'm using QFontDatabase to manipulate system fonts. Mostly it seems to
work great, and behaves as I expect. I especially like its handy
.font() method, that returns a QFont object.
But in this instance, it's behaving in a way I don't understand. I'm
working with a Google font named Exo
(https://fonts.google.com/specimen/Exo), which I've installed on my
system. QFontDatabase.styles('Exo') produces several (18, to be exact)
styles. Screenshot from Windows Font Settings below:
Now what I want to do is create a QFont object of the 'Bold' style, and
then just make it Italic. For example:
>font = QFontDatabase.font('Exo', 'Bold', 24)
>font.setItalic(True)
But after the .setItalic() call, the font object is no longer Bold
anymore (it's Thin, the lightest weight of the Exo fonts).
Sample code is attached (I guess one would have to install the Exo font
to test it). Basically, I get the font with QFontDatabase.font(), get
and display QFontInfo data for it, and it's what I expect. Then I get
the same font again, call .setItalic(True) on it, display QFontInfo, and
it's not what I expect:
I do (sort of) understand that the object returned by QFont is
requested, and QFontInfo tells you what you actually got. Apparently I
didn't get what I requested, but I'm not quite sure why.
As always, thanks in advance if you can shed any light on this!
/John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20250105/288408f0/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Exo fonts.png
Type: image/png
Size: 69551 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20250105/288408f0/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample code output.png
Type: image/png
Size: 32738 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20250105/288408f0/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample.py
Type: text/x-python
Size: 2949 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20250105/288408f0/attachment-0001.py>
More information about the PyQt
mailing list