【问题标题】:How to connect signal from nested qml item from c++ code?如何从 C++ 代码中连接来自嵌套 qml 项的信号?
【发布时间】:2016-01-04 18:59:26
【问题描述】:

我有一个用 QML 编写的 UI。 UI 包含嵌套在树深处某处的 TextEdit。我想在后台将信号 onTextChanged 连接到我的 c++ 逻辑。如何从 c++ 访问 nested 信号?

【问题讨论】:

  • 有点难的问题,因为我们不知道您的代码是什么样的。答案基本上是“在 QML 中以足够高的级别公开信号,以便您的 C++ 对象可以连接到它”。

标签: c++ qml signals-slots


【解决方案1】:

听起来像是一个设计问题,您不应该真正从 C++ 访问 QML,最好以一种方式保持交互 - 仅从 QML 访问暴露的 C++ API。

在您的情况下,您可以简单地在 QML 中为信号安装一个处理程序,而不是在 C++ 端进行连接:

onTextChanged : cppLogic.callCPPfoo()

这样更快、更容易、更灵活,即使信号没有数据参数也可以传递数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多