我正在尝试使用QtQuick 1.1在应用程序中实现弹出确认框,这意味着我无法访问QtQuick Dialogs。我将如何实现这一目标?我在文档中找不到任何内容
答案 0 :(得分: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!