0
우리는 주된 프로그램에 instatniated하고 그것을 QML View로 전달한 객체를 가지고 있습니다. Q_PROPERTY
이 정의되었습니다. 나는 이벤트 표자를 NOTIFY
신호에 설정하는 방법을 궁금해?QDeclarativeView에서받은 QML 객체에 이벤트 listner를 설정하는 방법은 무엇입니까?
우리는 주된 프로그램에 instatniated하고 그것을 QML View로 전달한 객체를 가지고 있습니다. Q_PROPERTY
이 정의되었습니다. 나는 이벤트 표자를 NOTIFY
신호에 설정하는 방법을 궁금해?QDeclarativeView에서받은 QML 객체에 이벤트 listner를 설정하는 방법은 무엇입니까?
정확하게 이해하면 this Qt DevNet forum post의 설정과 비슷합니다. 이 경우에만 READ
함수가 정의되어 있으며,이 함수는 somethingHappened
신호를 방출합니다. 작업 예제의 마지막 주석까지 맨 아래로 스크롤하십시오.
class SomeClass : public QObject {
Q_OBJECT
Q_PROPERTY(sometype someProperty READ getSomeProperty NOTIFY somePropertyChanged)
signals:
void somePropertyChanged();
};
QML_DECLARE_TYPE(SomeClass)
뭔가 :
이qmlRegisterType<SomeClass>("SomeModule", 1, 0, "SomeClass");
SomeClass myObj;
QDeclarativeView view;
view.rootContext()->setContextProperty("rootItem", (SomeClass *)&myObj);
그런 다음 QML 측에서 당신이 처리 할 것 요약
, 당신은 C++ 헤더 파일에 정의 같은 것을 가지고 그것은 다음과 같습니다 :
import SomeModule 1.0
SomeClass {
onSomePropertyChanged: {
// do stuff
}
}
질문이 약간 명확하지 않습니다. C++에 정의 된 속성에서 방출 된 신호를 QML 코드에서 처리하기를 원하십니까? – teukkam