2012-05-29 1 views
2

내가 다른 위젯 B에 기존 위젯 A를 그릴 싶어 (작동 할 수 B의 아이로서을, 그러나 여기 또 다른 이야기) 인터넷을 검색 한 후QT의 다른 위젯에서 위젯의 내용을 그리는 방법은 무엇입니까?

이 qtcenter 거기에 하나 thread는 말했다 :

QPixmap w1Pix = QPixmap::grabWidget(w1); // can work 

거기에 다른 방법이 있습니까?

+0

'grabWidget'은 정확히 무엇이 문제입니까? 왜 다른 것을하고 싶니? – Mat

+0

근본적으로 당신이 달성하고자하는 것 (다른 이야기를 설명하십시오) –

+0

grabWidget이 저에게 효과적입니다. 다른 방법이 있다면 호기심이에요. – camino

답변

2
(다른 사람을 모르는) 대안 중 하나는 당신이로 렌더링하는 QPaintDevice 또는 QPainter을 지정할 수 QWidgetrender 방법을 사용하는 것입니다

위치를 렌더링 할 그 화가에 어떤 지역 위젯이 칠해지며, render flags입니다. 플래그를 사용하면 특히 어린이를 그릴 지 여부를 지정할 수 있습니다.

이것은 다소 grabWidget보다 유연하지만이 기능을 호출 할 때 문서, 장치 또는 대상의 페인터가 특정 상태 여야합니다.