在 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!
我正在尝试在使用 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!