Actually, simply using setPixelSize and letting QT take care of the font
family does the job in my case even as a standalone, i.e.:
font = QApplication.font()
self.fontTitle = font
self.fontTitle.setPixelSize(12)
self.fontTitle.setBold(True)
self.fontSubTitle = QApplication.font()
self.fontSubTitle.setPixelSize(10)
self.fontSubTitle.setBold(False)
On 12/11/13 12:05, Frank Rueter | OHUfx wrote:
Actually I realised that in my case I can simply inherit the system
font, because my app is meant to run inside of another host app which
is already doing the hard work with fonts.
So in my case working with QApplication.font() magically solves all my
troubles (inside the host app, not as a standalone).
I will check in with the guys who wrote the host app to see if they
can share the magic solution.
Cheers,
frank
On 12/11/13 09:20, Frank Rueter | OHUfx wrote:
thanks Sean,
I will give it a go (I'm on Ubunto as well at home)
On 11/11/13 20:48, Sean Fisk wrote:
Hi Frank,
I struggled with this a while ago
<http://lists.qt-project.org/pipermail/pyside/2013-April/001252.html> and
have it working on Windows and Mac OS X. Still having some problems
on GNU/Linux (specifically targeting Ubuntu) but my team is working
on it. We first compile some TTF files into our resources, then
import them in our program, then call this:
|# fonts.py
from PySideimport QtCore, QtGui
def init():
"""Initialize embedded fonts."""
font_dir_resource = QtCore.QResource(':/fonts')
font_resource_path = font_dir_resource.absoluteFilePath()
for ttf_filenamein font_dir_resource.children():
# DON'T use `os.path.join()' here because Qt always uses UNIX-style
# paths. On Windows `os.sep' is '\\'.
res_file = QtCore.QFile('/'.join([font_resource_path, ttf_filename]))
# Must re-open the file in read-only mode to read the contents
# correctly.
res_file.open(QtCore.QIODevice.ReadOnly)
byte_array = res_file.readAll()
QtGui.QFontDatabase.addApplicationFontFromData(byte_array)|
And to use it (snippet):
|class LoginView(QtGui.QDialog):
def __init__(self, parent=None):
super(LoginView, self).__init__(parent)
# ...
self.title_font = QtGui.QFont('YourFontName',46)
self.title_font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.title_label = QtGui.QLabel('Your text in your font')
self.title_label.setFont(self.title_font)|
Hope this helps. And if you get it working on GNU/Linux, let me know
what you did!
Cheers,
--
Sean Fisk
On Mon, Nov 11, 2013 at 2:24 AM, Frank Rueter | OHUfx
<[email protected] <mailto:[email protected]>> wrote:
Hi all,
I am facing the challenge I'm sure many of you have had to deal
with before:
I need to make sure that the font used in my application looks as
similar as posisble between windows, linux and osx.
I am currently using 12 point Helvetica, which turns into a 16 pixel
high Sans Nimbus L on my linux box messing up my custom widget's
layouts.
What is the best practise here?
Supposedly it is possible to compile a font into a resource
which would
ensure almost identical results, right?! Has anybody ever done
this before?
Cheers,
frank
_______________________________________________
PySide mailing list
[email protected] <mailto:[email protected]>
http://lists.qt-project.org/mailman/listinfo/pyside
_______________________________________________
PySide mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/pyside
_______________________________________________
PySide mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/pyside
_______________________________________________
PySide mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/pyside