在 QtQuick 1.1 中创建弹出对话框

Creating a pop-up dialog in QtQuick 1.1

我正在尝试在使用 QtQuick 1.1 的应用程序中实现弹出式确认框,这意味着我无法访问 QtQuick 对话框。我将如何着手实施这个?我在文档中找不到任何内容

您可以将您的 QML 应用程序渲染到 QWidget,将此小部件注册为上下文对象,并公开 QMessageBox 的静态方法以生成对话框:

class QmlWidget : public QQuickWidget // or QWidget + QQuickView combination
{
...
public:
    void warning(const QString& title, const QString& message, ...)
    {
        QMessageBox::warning(this, title, message, ...);
    }
};

int main()
{
    QmlWidget w;
    auto engine = w.engine();
    auto ctx = engine.rootContext();
    // expose w to qml
    ctx->setContextProperty("qmlwidget", &w);
    w.show();
    return app.exec();
}

在 QML 中:

Item {
    Component.onCompleted: qmlwidget.warning()
}

或者您可以简单地用 Text 项目和按钮编写一个屏幕阻塞 Rectangle。或者简单地将您的应用程序升级到 QtQuick 2.x!