이미지 위쪽에 반투명 사각형을 그려 강조 표시하려고합니다. 불행히도, 내가 시도하는 것은 내가 원하는 투명성 효과를 수행 할 수없는 것 같습니다. 대신 투명도가없는 단색으로 채워진 사각형을 얻습니다. 나는 알파 QBrush
을 제공으로 인해 기대Qt에서 반투명 사각형을 그리려면 어떻게해야합니까?
void PageView::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QImage img=...;
painter.drawImage(0, 0, img);
...
// draw a light blue, transparent rectangle to highlight
QRect rect=...;
painter.fillRect(rect, QColor(128, 128, 255, 128));
...
}
을 불행하게도 나를 위해, 이것은 고체 파란색 사각형을 그립니다 대신 반투명 하나 : 여기
내가 지금 뭘하는지입니다 값.QImage
또는 QPixMap
중간에 그리기를 시도했으며 painter.setCompositionMode(...)
으로 놀았습니다. 지금까지 행운이 없습니다.
따라서 내 질문 : 어떻게 Qt를 내 PageView
에 반투명 사각형을 그립니다 설득 할 수 있습니까?
EDIT : 관련성이있는 경우 Windows 용 Qt 4.8.1에서 작성합니다.
당신이 그것을 컴파일하지 않는 코드는 약간의 수정과 함께 나를 위해 작동
더 QBrush '(R, G, B, A)가 [Qt는 문서]에서'생성자 없다 (http://doc-snapshot.qt-project.org/4.8/qbrush.html). 'QColor'를 원하셨습니까? –
나는 그랬다. 내 실수. – Managu
전체'PageView :: paintEvent'는 http://pastebin.com/Dj9dDd0c에 있습니다. 비록 내가 생략 한 것에 흥미있는 것이 없다고 생각 하긴하지만. – Managu