Я пытаюсь реализовать всплывающее окно подтверждения в приложении с использованием QtQuick 1.1, это означает, что у меня нет доступа к QtQuick Dialogs. Как я могу это реализовать? Я не мог найти что-нибудь в документацииСоздание всплывающего диалогового окна в QtQuick 1.1
1
A
ответ
4
Вы можете сделать ваше приложение 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()
}
Или вы можете просто написать экран блокировки Rectangle
с Text
элементов и кнопок. Или просто обновите приложение в QtQuick 2.x!