QML에 익숙한 대부분의 사람들은 QML Image
에 내장 된 "새로 고침"기능이 없음을 알고 있습니다.업데이트 기능이있는 QML 이미지 형식 확장
새로운 QML 유형, 예를 들어 RefreshableImage
을 작성하여 모델 - 뷰 관계와이 전환의 모든 레이어로 피를 흘리기 때문에 소스 코드를 변경하지 않고이 문제를 해결할 수 있습니다. 행동이 부자연 스럽다. 또한 다른 source
을 Image
에 설정하면 설정되었을 수있는 모든 바인딩이 끊어집니다 (실제로 문제의 핵심 : 바인딩을 유지하고 QML과 격리되는 업데이트 가능한 이미지를 원합니다). 이미지를 실제로 새로 고침하려면 신호를 호출해야 할 것입니다. 괜찮습니다.
Qt 자신의 Image
확장 방법에 관한 문서를 찾는 데 어려움을 겪고 있으므로 소스를 다시로드 할 수 있습니다. 하나의 기능을 추가하기 위해 주로 Image
을 복제하는 완전한 구성 요소를 작성하는 것을 피하고 싶습니다. 내가 염두에두고있는 것처럼 기본 제공 구성 요소를 확장 할 수있는 방법이 있습니까?
마이너 노트 :
- 인해 외부 상황에, 나는 Qt는 5.5로 제한입니다.
QQuickImageProvider
이 사용하는 기본 이미지 객체의 UUID를 으로 사용합니다. 따라서 이미지를 업데이트 할 때이를 변경하고 싶지 않습니다.
왜 '이미지'를 '소스'같은 것으로 업데이트해야합니까? 그게 같은 이미지가 아닌가요? – folibis
@folibis 기술적으로 예,하지만 기본 데이터가 변경되었습니다. QML ImageProviders를 사용하여 데이터 구조에서 QML을 QML에 제공합니다. 우리가 사용하는 id는 우리 시스템의 이미지의 uuid입니다. 따라서 uuid에서 실제 객체를 가져올 수 있습니다. 우리는 단순화를 위해이 uuid를 재사용하고 있습니다. – rubenvb
아,이 질문에 질문을 지정해야합니다. 나는 그것이 중요하다고 생각한다. – folibis