I am trying to implement a pop-up confirmation box in an application using QtQuick 1.1, this means I dont have access to QtQuick Dialogs. How would I go about implementing this? I couldn't find anything in the documentation
You can render your QML application unto QWidget
, register this widget as context object, and expose static methods of QMessageBox
to generate a dialog:
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();
}
In QML:
Item {
Component.onCompleted: qmlwidget.warning()
}
Or you can simply write a screen blocking Rectangle
with Text
items and buttons. Or simply upgrade your application into QtQuick 2.x!