在QtQuick 1.1中创建弹出对话框

在QtQuick 1.1中创建弹出对话框,qt,qml,qt-quick,Qt,Qml,Qt Quick,我正在尝试使用QtQuick 1.1在应用程序中实现弹出确认框,这意味着我无法访问QtQuick对话框。我将如何着手实施这一点?我在文档中找不到任何内容您可以将QML应用程序呈现到QWidget,将此小部件注册为上下文对象,并公开QMessageBox的静态方法以生成对话框: class QmlWidget : public QQuickWidget // or QWidget + QQuickView combination { ... public: void warning(con

我正在尝试使用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()
}

或者,您可以简单地使用
文本
项和按钮编写一个屏幕块
矩形
。或者只需将应用程序升级到QtQuick 2.x

您可以将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()
}
或者,您可以简单地使用
文本
项和按钮编写一个屏幕块
矩形
。或者只需将应用程序升级到QtQuick 2.x