首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EGLFS QML屏幕未旋转

EGLFS QML屏幕未旋转
EN

Stack Overflow用户
提问于 2020-05-27 06:09:39
回答 1查看 308关注 0票数 0

我有Debian Bullseye,英特尔赛扬J1800集成显卡。来自Debian版本5.12.5的Qt

正在尝试将屏幕旋转到纵向模式。

代码语言:javascript
复制
QT_QPA_EGLFS_ROTATION=90 /opt/app/bin/app

但window刚刚调整了大小,放大了约120%。

我的代码

代码语言:javascript
复制
#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.addImportPath("qrc:/");
    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();
}

和QML

代码语言:javascript
复制
ApplicationWindow {
    id: window
    visible: true
    flags: Qt.FramelessWindowHint
    StackView { ... }
}

QWebEngineView和小部件运行良好

EN

回答 1

Stack Overflow用户

发布于 2020-05-27 08:02:45

似乎很管用

代码语言:javascript
复制
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QMainWindow>
#include <QVBoxLayout>
#include <QQuickWidget>

int main(int argc, char *argv[])
{
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
    QApplication app(argc, argv);
    const QUrl url(QStringLiteral("qrc:/main.qml"));
    QQuickWidget *w = new QQuickWidget;
    w->resize(400,300);
    w->setResizeMode(QQuickWidget::SizeRootObjectToView );
    w->engine()->addImportPath("qrc:/");
    w->setSource(url);

    w->showFullScreen();

    return app.exec();
}

和qml

代码语言:javascript
复制
Rectangle {
    id: window
    visible: true
    StackView { ... }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62032228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档