目的是在具有不同 PPI 的屏幕上运行此应用程序。
Qt 5.12
问题是,qputenv
如果在QGuiApplication
.
我想根据来自 QGuiApplication 的信息计算比例。
我该怎么做?以下代码引发分段错误。
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QScreen>
#include <QDebug>
int main(int argc, char *argv[])
{
qreal abc = QGuiApplication::primaryScreen()->physicalDotsPerInch();
qDebug() << "null " << abc;
qputenv("QT_SCALE_FACTOR", "2");
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();
}