当QQuickWidget关闭时,它会告诉我什么信号?
例如,我编写了以下代码:
QQuickWidget *view = new QQuickWidget;
view->setSource(QUrl::fromLocalFile("main.qml"));
view->show();我在main.qml文件中有一个ApplicationWindow,我想在qml窗口关闭后立即执行一些代码。
发布于 2020-05-19 02:10:25
解决方案是实现一个注入到QML中的Helper,并在窗口关闭时通知我们:
class Helper: public QObject{
Q_OBJECT
public:
using QObject::QObject;
Q_SIGNALS:
void closed();
};Helper *helper = new Helper;
QObject::connect(helper, &Helper::closed, [](){
qDebug() << "closed";
});
QQuickWidget *view = new QQuickWidget;
view->rootContext()->setContextProperty("helper", helper);
view->setSource(QUrl::fromLocalFile("main.qml"));
view->show();ApplicationWindow {
// ...
onClosing: helper.closed()
}https://stackoverflow.com/questions/61875676
复制相似问题