Qt 4.7.4 - Torna pixels transparentes clicáveis (expandir hitbox) no pixmap QGraphicsItem
-
11-12-2019 - |
Pergunta
Estou criando um editor de esquema de circuito usando o Qt Creator.Eu tenho uma tela QGraphicsScene/QGraphicsView na qual gostaria de colocar imagens de componentes de circuito e movê-las.
Atualmente estou usando um pixmap QGraphicsItem e adicionando-o à tela e tornando-o móvel.Isso funciona muito bem quando você clica diretamente nas linhas do símbolo, porém o símbolo não se move quando você clica nas áreas transparentes da imagem.
Existe uma maneira de expandir a área do hitbox/mouse para fazer com que essas regiões transparentes respondam da mesma forma que as outras regiões do símbolo?Abaixo está como estou adicionando a imagem.(Preciso que a imagem seja transparente para que outros símbolos fiquem visíveis atrás/na frente dela)
QGraphicsItem* b = canvas.addPixmap(QPixmap(":/images/ground2.gif"));
b->setFlag(QGraphicsItem::ItemIsMovable);
b->setPos(qrand()%int(canvas.width()),qrand()%int(canvas.height()));
Toda a ajuda é muito apreciada!Obrigado!Josh
Solução
Você pode ligar QGraphicsPixmapItem::setShapeMode( QGraphicsPixmapItem::BoundingRectShape )
para que o item seja tratado como um retângulo.