2012-05-22 3 views
0

내 QGraphicsView의 배경은 .drawBackground(...)을 오버로드하고 painter.drawImage(...)을 오버로드하여 설정됩니다. QGraphicsScene에 전경 오브젝트를 추가하려고합니다. 이들은 대부분 QGraphicsRectItem 유형입니다. 이 전경 사각형 각각은 그들이 다루는 배경의 하위 이미지에 이미지 필터를 적용하고 싶습니다.전경을 통한 QGraphicsView의 배경 필터링 QGraphicsItems

  • 이것은 가능합니까?
  • 그렇다면 시작하기 위해 약간의 예제 코드를 찾을 수 있습니까? 인터넷 검색은 이벤트 필터링을위한 코드 만 표시하는 경향이 있습니다.

미리 감사드립니다.

답변

0

배경이 정적 인 경우 (사용자 정의) 항목 클래스의 paintEvents에서이 정적 이미지를 사용할 수 있습니다. 그러나 내가 아는 한, Qt의 아이템 효과를 사용할 수는 없지만, paintEvents에서 필터를 직접 구현해야합니다. 필터의 이미지에서 올바른 영역을 잘라내는 것을 잊지 마십시오.

배경 이미지가 필요없는 경우도 있습니다. 예를 들어, 항목에 의해 덮여있는 배경 이미지를 반전 시키려면 항목의 paintEvent에서 전체 영역을 채우지 만 화가 의 컴포지션 모드를 전에 적절히 그리기로 설정하십시오. (사용 가능한 모드는 QPainter::CompositionMode을 참조하십시오.)

배경이 정적이 아닌 경우 drawBackground 메서드의 코드를 다시 사용하거나 이미지에 배경을 그린 다음이 이미지를 사용하여 배경을 그릴 수 없습니다 실제 배경 + 각 항목의 효과.

더 구체적인 답변을 보려면 항목에 대해 갖고 싶은 배경 및 필터에 대한 자세한 정보를 제공해야합니다.

관련 문제