如何将视频显示QGraphicsScene与使用QQuickWindow的其余代码合并?

时间:2014-01-23 04:50:44

标签: qt qgraphicsview

所以,我有一个Qt代码,其中包含使用QQuickWindow的文本框和按钮,然后是使用QGraphicsScene的视频流。

我打算在一个窗口中显示它们。如何继续?

这就是我所尝试的(目前没有使用任何视频,但我希望它能从qml文件中显示“hello world”):

#include <QApplication>
#include "qtquick2applicationviewer.h"
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QQmlApplicationEngine>
#include <QtQml/QQmlContext>
#include <QtQml/QQmlEngine>
#include <QVBoxLayout>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QStringLiteral("qml/untitled/main.qml"));

    QGraphicsScene scene;
    QGraphicsView view(&scene);

    QObject *topLevel = engine.rootObjects().value(0);
    QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);

    QVBoxLayout *layout = new QVBoxLayout();
    layout->addWidget(&view);

    QWidget *p = QWidget::createWindowContainer(window);
    layout->addWidget(p);
    p->show();

    return app.exec();
}

QML文件包含:

import QtQuick 2.0

Rectangle {
    width: 360
    height: 360


    Text {
        text: qsTr("Hello World")
        anchors.centerIn: parent
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            Qt.quit();
        }
    }
}

0 个答案:

没有答案