我一直按照Qt documentation中给出的方法从Qml中调用我的C ++函数。
这需要满足以下条件之一:
public
和Q_INVOKABLE
或public slot
这有时与我的班级设计不同步。因为,根据我的班级设计,我想要从Qml调用的函数是私有的。
Q1。我可以让Qml看到一个函数并保持私有状态吗?
Q2。期待这种行为是我的设计缺陷吗?
答案 0 :(得分:2)
好吧,如果您按照设计执行 private ,您会认为它只能在一个类中使用。现在你现在问的是我如何解决我的设计问题。明显的答案是 - 你可以在一个类中创建一个公共包装器,它将调用你的私有方法并将这个公共包装器发布到QML中,但如果你遇到这种情况,我建议你去审查设计。