「最大化」された可視性を持つ単純なqml ApplicationWindowプログラムがあります。PC の設定が以下の場合、アプリケーションは画面に適切に収まります。
解像度: 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 設定のアプリケーションのスクリーンショットです。赤と黄の長方形はどちらも同じサイズです。
上の 1 つは、解像度 1366x768 設定のアプリケーションのスクリーンショットです。赤と黄の長方形はどちらも同じサイズです。ただし、これらの設定では黄色の半分が表示されません。