PyQt字体大小随Windows显示配置而变化

时间:2017-08-16 07:44:42

标签: python pyqt4

我正在研究PyQt4 GUI。在测试期间,我发现所有QLabel的字体大小在不同的计算机上发生了变化。显然,Windows显示配置可以从100%更改为125%或150%,然后更改我的小部件的字体大小。

是否有一个选项可以强制GUI保持其字体大小独立于显示设置?

提前感谢您的帮助。

<小时/> 编辑:
我找到了正确的术语,但我得到的最好的是:如果你打开Control Panel\Appearance and Personalization\Display,你可以更改字体和其他显示的元素大小。此配置独立于屏幕分辨率,但我不知道它是否独立于屏幕的实际dpi。由于AA_DisableHighDpiScaling不适用于PyQt4,我必须继续寻找其他解决方案。

2 个答案:

答案 0 :(得分:0)

http://doc.qt.io/qt-5/highdpi.html

看起来您可以使用此代码段禁用缩放(但未检查):

QGuiApplication().setAttribute(Qt.AA_DisableHighDpiScaling)

答案 1 :(得分:0)

我知道这则帖子很旧,但我想我会加两分钱。如果您想遍历所有Qlabel并允许用户更改字体大小,则下面的代码对我来说很好(使用PyQt5)

# change font
def font_change(self):
    font, ok = QtWidgets.QFontDialog.getFont()
    if ok:
        for name, obj in inspect.getmembers(self):
            if isinstance(obj, QtWidgets.QLabel):
                obj.setFont(font)