1

我有旧的Qt C++应用程序,可以在台式机或笔记本电脑上完美运行。我现在正试图让它在具有 1920 X 1200 分辨率的屏幕的High DPI触摸屏嵌入式设备中工作。10 inch设备正在运行Windows 10。我正在使用MXE在我的 Ubuntu 机器上为 Windows 进行交叉编译。

按照这里给出的建议,我添加了以下几行来自动扩展我的应用程序。

static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO";
if (!qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO)
    && !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR")
    && !qEnvironmentVariableIsSet("QT_SCALE_FACTOR")
    && !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) {
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
}

应用程序以正确的大小开始:

在此处输入图像描述

但是,当我使settingWidget添加到的可见时QDockWidget,应用程序会变得大于屏幕尺寸。我无法理解问题的根源。

在此处输入图像描述

代码库非常大,如果有人想查看代码,那么他们必须帮助我处理可能存在错误的代码片段,我将在此处发布。

4

0 回答 0