所以,我有一个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();
}
}
}