产品版本:中望3D 2025 Linux版
BUG复现步骤:
1. 使用Linux系统,并同时使用4k分辨率的屏幕,设置到高分辨率(3840×2160)。
2. 设置全局环境变量QT_AUTO_SCREEN_SCALE_FACTOR=1,使得QT应用程序自适应当前分辨率。
3. 打开中望3D 2025 Linux版(zw3d-2025.0.3.0),随意打开一个3D设计文件。
4. 此时,界面其他部分显示正常,但是渲染的图像只显示在左下角,占整个渲染区域的 1/4 左右。
期望结果:
渲染区域正确显示。
技术背景:
该问题是QT与openGL开发常见的已知问题,即QT OpenGLWidget高分屏适配时出现的问题。见参考文档。
为了解决4K屏幕显示QT界面时出现窗口变小分辨率不匹配的问题,我们可以设置环境变量QT_AUTO_SCREEN_SCALE_FACTOR=1 (它将使能Qt::AA_EnableHighDpiScaling), 或者在 QApplication a(argc, argv); 这句之前添加:
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
Constant | Value | Description |
---|---|---|
Qt::AA_EnableHighDpiScaling |
20 |
Enables high-DPI scaling in Qt on supported platforms (see also High DPI Displays). Supported platforms are X11, Windows and Android. Enabling makes Qt scale the main (device independent) coordinate system according to display scale factors provided by the operating system. This corresponds to setting the QT_AUTO_SCREEN_SCALE_FACTOR environment variable to 1. This attribute must be set before QGuiApplication is constructed. This value was added in Qt 5.6. |
收到!非常详尽!感谢!请问可以提供一下软件版本号吗?
版本 : 中望3D 2025(29.05) VERNUM:12/11/2024(134631:b728853d73_Dev)
收到!感谢!我立即向研发反馈!