我在 Qt 中有一个应用程序,我可以在其中在 c++ 应用程序和 QML 应用程序之间切换(将中央小部件设置为一个或另一个)。
问题是,为了解决这个问题,我必须将 main.qml 从 ApplicationWindow 更改为 Page,现在我的 QML 应用程序中的对话框和所有弹出窗口都无法正常工作(模式和焦点根本不起作用)。
我的代码如下所示:
QQuickWidget *view = new QQuickWidget(this);
view->setSource(QUrl(QStringLiteral("qrc:/main.qml"))); //Page
MyCppApp *myCppApp = new MyCppApp (this); //QWidget
QStackedWidget *stackedWidget = new QStackedWidget;
stackedWidget->addWidget(view);
stackedWidget->addWidget(myCppApp);
stackedWidget->setCurrentIndex(1);
setCentralWidget(stackedWidget);
我知道在 Popup 的文档中有“它可以与 Window 或 ApplicationWindow 一起使用”。但是有没有办法让我的 QML 中的弹出窗口正常工作?
我正在使用 Qt 5.8 和 Qt Quick Controls 2。