[英]QQuickView as item in a QGraphicsScene
我想在 QGraphicsView 中集成 QQuickView,但我只得到一個灰色矩形。
我知道將 qml 集成到 qgraphicsview 中是一個可怕的選擇,但我的團隊已經在這個應用程序上工作了 3 年,並且不可能更改主要的 QGraphicsView。 我只想知道現在是否有辦法包含一些 QML。
也許有解決方案? 也許我只需要忘記它。 也許你知道。 謝謝 !
代碼示例
主.cpp
#include <QApplication>
#include <QMainWindow>
#include <QtQuick/QQuickView>
#include <QGraphicsView>
#include <QGraphicsScene>
// Main
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene * scene = new QGraphicsScene;
QGraphicsView * view = new QGraphicsView(scene);
QQuickView * quickView = new QQuickView;
quickView->setSource(QUrl::fromLocalFile("test.qml")); // Displays a text
QWidget * container = QWidget::createWindowContainer(quickView);
container->setFixedSize(500, 100);
scene->addWidget(container);
scene->addEllipse(50, 50, 100, 100); // Just to know my scene is correctly drawn
view->show();
return a.exec();
}
測試.qml
import QtQuick 2.15
Rectangle {
width: 500
height: 100
Text {
text: "This is a text in a QML view"
anchors.left: parent.left
anchors.top: parent.top
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.