maj*_*ajk 6 qt qwidget hdpi qtstylesheets
我有一个使用Qt styleSheet的Qt Widgets应用程序来获得应用程序的外观.我们希望添加对高DPI显示器的支持,因为这些应用看起来非常小.因此,第一步是:
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
Run Code Online (Sandbox Code Playgroud)
这可以完成大部分工作,应用程序窗口足够大.唯一剩下的问题是样式表中使用的图像的分辨率.
说我们有:
QCheckBox::indicator::unchecked {
image: url(:/res/checkbox_off.png);
}
MainWindow QFrame {
background-image: url(:/res/background.png);
}
Run Code Online (Sandbox Code Playgroud)
当使用高DPI缩放时,这些图像会相应地升级,这是一个问题.对于高DPI,我宁愿使用更高分辨率的图像,使它们看起来尽可能清晰.
正如所料,简单地以更高分辨率提供图像的简单方法不起作用 - 它使图像和控制的两倍大(在低和高DPI屏幕上).
关于QImageReader的Qt文档说明了这一点
高分辨率版本在基本名称上标有后缀@ 2x.读取的图像将其设备像素比率设置为值2.
但是,我提供了两倍分辨率的这些资源,将它们添加到qrc文件中,但在pixel_ratio为3的设备上显示的图像仍然相同.
是否还需要其他步骤才能使自动图像加载与样式表一起使用?
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |