달력

112024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

C++ 클래스를 만든 후 QML Object Type으로 사용하기 위해서는 qmlregistertype 함수를 이용하여 QML Engine에 C++ 클래스를 등록해야 한다.


이 과정에서 qmlregistertype 함수의 내부에서 staticMetaObject error 가 발생했다.

나한테 발생한 staticMetaObject error는 lib로 만든 C++ 클래스를 QML App에서 불러오지 못해 발생한 error 였다.  .pro 파일을 수정하여 C++ 클래스 lib를 include할 수 있도록 해서 해결했다.


흔히 발생하는 staticMetaObject 에러는 QT 클래스를 상속받은 클래스에서 'Q_OBJECT' 키워드를 사용하지 않고 sginal / slot을 만들 경우에 발생한다고 한다.


즉 다시 말해 QT 클래스를 상속받은 모든 클래스는 의무적으로 'Q_OBJECT'를 사용해야 한다.

이건 규칙~~~~

Posted by 생짜
|