PyQt5 - Groove 启用高 DPI 支持,使得应用程序能够自动适应不同的屏幕分辨率
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)
这段代码用于设置 Qt 应用程序的属性,使得应用程序在高 DPI(每英寸点数)显示屏上使用高分辨率的图标和图像。具体来说,它启用了高 DPI 支持,使得应用程序能够自动适应不同的屏幕分辨率。
详细解释:
-
QApplication.setAttribute()
:QApplication
是 Qt 中的一个类,它代表一个应用程序实例。setAttribute()
是QApplication
类中的一个方法,用来设置应用程序的某些属性(比如窗口行为、外观等)。
-
Qt.AA_UseHighDpiPixmaps
:Qt.AA_UseHighDpiPixmaps
是一个枚举值,属于Qt.ApplicationAttribute
枚举。这个属性告诉 Qt 应用程序在显示高分辨率的屏幕时,使用高 DPI(像素/英寸)分辨率的图像和图标。- 启用此属性后,Qt 会根据显示器的 DPI 设置调整图标、图片等资源的分辨率,从而确保在高 DPI 显示器(如 Retina 屏幕)上,图像和图标不会显得模糊或失真。
背景:
- 在现代高分辨率显示屏(如 Retina 屏幕或 4K 显示器)上,常规的图标和图片可能会显得模糊,因为它们的分辨率通常较低。
- 启用
Qt.AA_UseHighDpiPixmaps
属性后,Qt 会自动使用更高分辨率的图像资源来适应高 DPI 屏幕,确保图像更加清晰,避免模糊。
示例:
在启动 Qt 应用程序时,可以这样设置:
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication
app = QApplication([])
# 启用高 DPI 支持,使用高分辨率图标和图像
app.setAttribute(Qt.AA_UseHighDpiPixmaps)
# 创建窗口等操作
# window.show()
app.exec_()
总结:
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)
使 Qt 应用程序能够在高分辨率显示屏上自动使用高 DPI 图标和图像,改善显示效果,避免图像模糊。