使Qml可以看到私有C ++函数

时间:2013-04-22 07:36:09

标签: qt qml public private-members

我一直按照Qt documentation中给出的方法从Qml中调用我的C ++函数。

这需要满足以下条件之一:

  1. 制作C ++函数publicQ_INVOKABLE
  2. 使C ++函数成为public slot
  3. 这有时与我的班级设计不同步。因为,根据我的班级设计,我想要从Qml调用的函数是私有的。

    Q1。我可以让Qml看到一个函数并保持私有状态吗?

    Q2。期待这种行为是我的设计缺陷吗?

1 个答案:

答案 0 :(得分:2)

好吧,如果您按照设计执行 private ,您会认为它只能在一个类中使用。现在你现在问的是我如何解决我的设计问题。明显的答案是 - 你可以在一个类中创建一个公共包装器,它将调用你的私有方法并将这个公共包装器发布到QML中,但如果你遇到这种情况,我建议你去审查设计。