2011-11-04 3 views
1

Qt Creator처럼 다른 것들을 드롭 할 수있는 무언가를 만들려고합니다. (아니요, 새 것을 만들고 싶지 않습니다. ,하지만 그 기능이 필요합니다). 일부 요소를 드래그하여 탭 패널의 아무 곳에 나 놓을 수 있습니다. 내 문제는 백그라운드에서 그리드/래스터를 만드는 방법입니다. 그것은이 유사하게 나타납니다패널/tabPane/se의 배경에서 래스터를 만드는 방법

http://i.stack.imgur.com/QOA4K.png

내가 백그라운드에서 그 점을 의미한다. 두 개의 for 루프로 만들면 시간이 걸릴 것이고 효율적이지 않을 것입니다. 보다 효율적인 솔루션과 훨씬 쉬운 솔루션이 있어야합니다.

저는 Qt를 프레임 워크로 사용하여 C++로 프로그래밍하고 있습니다. 제가 사용할 수있는 링크 나 다른 것들을주세요.

답변

0

할 수 있습니다 :

  • 한계 정말 QWidget::paintEvent documentation에 설명 된대로 업데이트 할 필요가 지역에 재 도장,
  • 는 점을 그리는 당신의 루프에서 QPoint의 컨테이너를 대신 작성하고 그들 모두를 그릴 루프 뒤에서 QPainter::drawPoints으로 변경하면
  • 결과가 투명화 된 QPixmap에 캐시되고 창 크기가 변경되지 않은 경우 다시 사용됩니다 (example from Qt Quaterly).

물론 이러한 최적화를 수행하여 아무 것도 얻을 수 없는지 알아보기 위해 몇 가지 테스트를 수행해야합니다.