我一直按照 Qt 文档中给出的方法使我的 C++ 函数可以从 Qml 调用。
这需要满足以下条件之一:
public
和 Q_INVOKABLE
或public slot
这有时与我的课堂设计不同步。例如,根据我的类设计,我想要从 QML 调用的函数是私有的。
Q1。我可以使函数对 QML 可见并仍保持其私有吗?
Q2。期待这种行为是我的设计缺陷吗?
如果您将某些东西设计为私有,您会认为它只能在类中使用。
您实际上要问的是我如何解决我的设计。
显而易见的答案是 - 您可以在类中创建一个公共包装器,它将调用您的私有方法并将此公共包装器发布到 QML 中,但如果您遇到这种情况,我建议您检查设计。