QT项目控件字体如何自适应分辨率缩放

QT项目中控件字体要怎么自适应分辨率缩放

QT Designer中预览窗口正常,控件也会自适应缩放,有用spacer和layout。
最终在4k屏幕和1080p上面表现差异巨大。
在1080p下和预览的一致。
而4k下屏幕和控件缩成一团。
用resize把main窗口缩放两倍后,控件排版正常了,但是所有字体都很小。大概也只有预览的一半大小。

应该如何解决?字体几乎都是写在stylesheet里面的。

2 个赞

前排,帮顶

1 个赞

看这个

完美解决,甚至窗口都恢复正常。

    QtWidgets.QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True)
    QtWidgets.QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps, True)
    app = QtWidgets.QApplication(sys.argv)

最初我有试过这个函数,但当时不生效。警告:

Attribute Qt::AA_EnableHighDpiScaling must be set before QCoreApplication is created.

我当时是这么写的:

    app = QtWidgets.QApplication(sys.argv)
    app.setAttribute(Qt.AA_EnableHighDpiScaling, True)  # 自适应高分屏
    app.setAttribute(Qt.AA_UseHighDpiPixmaps, True)
1 个赞

好好好

From 快问快答 to 开发调优