小编Don*_*Joe的帖子

将参数从 C++ 传递到 QML

我想将一些参数从 C++ 传递到 QML,以便 QML 可以用它们做一些事情。

有点像这样:

void MyClass::myCplusplusFunction(int i, int j)
{
    emit mySignal(i, j);
}
Run Code Online (Sandbox Code Playgroud)

在 QML 中,每次mySignal(i, j)发出时,我都想调用 QML 函数并使用i和执行操作j

Connections {
    target: myClass
    // mySignal(i, j) is emitted, call myQmlFunction(i,j)
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

qt qml qt-signals qtquick2

5
推荐指数
1
解决办法
7501
查看次数

QML:关闭申请前要求确认

我有一个 QtQuick 应用程序。当用户试图关闭应用程序时,我想要一个“你确定吗?” 窗口弹出。

我的主要 C++ 类有这个:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

我的主 QML 类有一个应用程序窗口:

ApplicationWindow {
    id: root
    ...
}
Run Code Online (Sandbox Code Playgroud)

我将在哪里以及如何捕捉关闭事件?我读到了从 QMainWindow 方法或其他方法覆盖 closeEvent() 的内容,但我没有 QMainWindow 并且我不知道将该代码放在哪里。

所以我想知道如何防止应用程序关闭并发生其他事情,以及当用户在确认对话框中单击“确定”时我将如何关闭应用程序。

据我所知,ApplicationWindow 的“onClosing”只允许我在不可避免的关闭之前做一些清理,但它不会阻止关闭(如果我错了,请纠正我)

c++ events exit qml

3
推荐指数
1
解决办法
3570
查看次数

标签 统计

qml ×2

c++ ×1

events ×1

exit ×1

qt ×1

qt-signals ×1

qtquick2 ×1