У меня есть простая программа qml ApplicationWindow с «Максимальной» видимостью. Приложение правильно помещается на моем экране, когда настройки ПК ниже:
Разрешение: 1920x1080 (рекомендуется) Масштаб: 100% снимок экрана: Resolution_1920x1080_scale_100_screenshot.JPG
Но когда я настроил параметр «Масштаб и макет» ноутбука на 100% и дисплей ноутбука с самым высоким разрешением (1366 x 768), правая часть моего приложения обрезается.
снимок экрана (с проблемой): Resolution_1355x768_scale_100_screenshot.JPG
Любые предложения, чтобы решить это??
Qml:
import QtQuick 2.14
import QtQuick.Controls 2.14
ApplicationWindow {
id:root
visible: true
visibility: Window.Maximized//"Maximized"
title: qsTr("Hello World")
Rectangle {id:red; width: 900; height: 350; color: "red" }
Rectangle {id:yellow; width: 900; height: 350; color: "yellow"; anchors.left: red.right }
}
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/main.qml"));
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
}, Qt::QueuedConnection);
engine.load(url);
return app.exec();
}
Ниже приведен скриншот приложения с настройкой разрешения 1920x1080. И красные, и желтые прямоугольники имеют одинаковый размер.
Над одним скриншот приложения с установленным разрешением 1366x768. И красные, и желтые прямоугольники имеют одинаковый размер. Но при этих настройках желтая половина не видна.