2016-10-13 1 views
0

설명서에서 높은 값과 낮은 값으로 검색했지만 이에 관련된 내용을 찾지 못했습니다. 어쨌든 내가 만든 QML 요소는 자식 중 하나가 변경되어 다시 그려야하는 경우 알림을받을 수 있습니다. 항목이 부모가 연결할 수있는 신호 또는 이벤트를 보낼 것입니까? 가급적이면 항목이 "dirty"로 표시되어 다시 렌더링되어야하지만 onPropertyChange와 같은 신호도 작동해야합니다.QQuickItem을 업데이트해야 할 때 알림을 받으십시오.

MyQmlItem { 
    Rectangle { 
      width: 50; height: 60 
      color: "blue" 
      Text { 
       text: "hello world" 
      } 
    } 
} 

일부 코드 예 : 내가 MyQmlItem을하고자하는 사각형의 색상을 변경하는 경우

예는이 변화를 통지한다.

+0

당신이 * 왜 * 당신이 그런 일을 필요에 대해 자세히 설명 할 수 있습니까? – peppe

+0

저는이 아이템들을 QOpenGLFramebufferObject에 렌더링했습니다. 그러면 이미지로 가져와 오프 스크린 장치에 씁니다. 아무 것도 업데이트되지 않으면이 글을 쓰고 싶지 않다. – Johan

+0

FBO가 다시 그릴 필요가 있는지에 관계없이 쓰기는 모든 다른 Qt 렌더 프레임에서 일어난다. – Johan

답변

0

FWIIW 위의 해결 방법을 찾을 수있었습니다. MyQmlItem 클래스에 부울 속성 "isDirty"를 추가했습니다.이 속성은 true로 설정된 경우 신호를 내 보냅니다. 그런 다음 각 아이는 위의 QML 완벽하지만 충분하지

MyQmlItem { 
    id: "topItem" 
    Rectangle { 
     width: 50; height: 60 
     color: "blue" 
     Text { 
      text: "hello world" 
      onTextChange: { 
       topItem.isDirty = true; 
      } 
     } 
} 

이되고,이는 다시 그릴 필요가 변경을 수행하는 경우 설정해야

관련 문제