2013-04-22 2 views
0

나는 Qt documentation에 주어진 접근 방식에 따라 Qml에서 호출 할 수있는 C++ 함수를 만들었습니다. 이 이러한 조건 중 하나를 필요로Qml에서 개인 C++ 함수를 볼 수있게 만들기

충족되어야 :

  1. 는 C++ 기능 publicQ_INVOKABLE 또는
  2. 때로는 public slot

이를 작동 ++은 C를 확인 만드 동기화되지 않습니다 내 수업 설계와. 마찬가지로 Qml에서 호출 할 수있는 함수는 클래스 디자인에 따라 비공개입니다.

Q1. Qml에 함수를 보이게하고 여전히 비공개로 유지할 수 있습니까?

2. 이런 종류의 행동을 기대하는 것이 나의 디자인 결함인가?

답변

2

글쎄, 만약 뭔가를 디자인에 의해 개인적으로 클래스 내에서만 사용되는 것을 고려하십시오. 지금 당신은 실제로 어떻게 내 설계를 해결할 수 있는지 묻습니다. 명백한 대답은 - 개인용 메서드를 호출하고이 공용 래퍼를 QML에 게시 할 클래스에서 공용 래퍼를 만들 수 있지만 그러한 상황에 직면하면 디자인을 검토하는 것이 좋습니다.