2011-04-19 4 views
0

소켓을 통해 QPixmapRect을 직렬화합니다. 나는 그들을 unserialize하고 rects을 그릴 것입니다 QWidget 이제 내 질문은 QWidget이 목적을 위해 사용해야합니까? 어떻게 진행해야 하는가에 대한 재 오염이 있습니까? 내가 QPainter을 사용하기로 결정하고 drawPixmap을 사용하여 그릴 때 나는 잘못된 방향으로 가고 있습니까?QPainter를 사용하여 QWidget에서 QPixmap Rects 그리기

+0

더 많은 정보가 필요 ... 그려진 pixmap으로 무엇을하고 있습니까? 기본 용도는 그래픽 응용 프로그램입니까, 아니면 픽스맵을 다른 위젯이있는 양식의 배경으로 사용 하시겠습니까? 당신의 질문이 진술 된대로, 그것은 권고를주기가 어렵습니다. –

+0

사각형에서 픽스맵과 직사각형 또는 픽스맵을 그리십니까? 그리고 나중에 사각형이 픽스맵의 대상이되거나 픽스맵에서 그려지는 부분입니까? –

+0

실제로 이것은 화면 공유 응용 프로그램입니다. 한쪽 끝은 뷰어 화면에 그려지는 스크린 샷 사각형을 보냅니다. –

답변

0

QGraphicsScene에 그려진 QGraphicsPixmapItem 인스턴스를 QGraphicsView과 같이 사용하는 것이 좋습니다.

Qt Graphics View Framework 참조 :

그래픽보기 지원 으로, 관리하기위한 표면을 제공하며, 주문 제작 2D 그래픽 항목의 큰 번호 및 항목을 시각화 에 대한 뷰 위젯과 상호 작용 확대/축소 및 회전.

이 프레임 워크는 정확한 배정 밀도의 상호 작용에게 현장에 항목에 대한 기능을 허용하는 이벤트 전파 구조를 포함하고 있습니다. 항목은 키 이벤트를 처리 할 수 ​​있으며 마우스 누름, 이동, 릴리스 및 이중 이벤트를 클릭 할 수 있으며 마우스 움직임을 추적 할 수도 있습니다.

그래픽보기는 매우 빠른 항목 검색을 제공하는 BSP (이진 공간 분할) 트리를 사용하고, 이의 결과로, 심지어는 항목의 수백만 실시간으로 큰 장면 을 시각화 할 수 있습니다.

+0

하지만 개별 항목의 확대/축소 및 회전에 대한 지원이 필요하지 않습니다. 이 항목들은 고유하지 않습니다. 그들은 모두 similer 직사각형입니다. 같은 크기와 색상으로 동일합니다. –

+0

사용하는 페인트면에는 사용하지 않을 물건이 많이 있습니다. 그래픽 프레임 워크는 이러한 것들 중 일부를 끌 수 없도록하므로 필요없는 것을 지불하지 않습니다. 속도가 충분히 빠르지 않으면 OpenGL (http://doc.trolltech.com/latest/qtopengl.html)을 사용할 수 있습니다. 그러나 그래픽 프레임 워크는 더 간단해질 것입니다. –

관련 문제