1

「最大化」された可視性を持つ単純な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 設定のアプリケーションのスクリーンショットです。赤と黄の長方形はどちらも同じサイズです。ただし、これらの設定では黄色の半分が表示されません。

4

1 に答える 1