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

Foi útil?

Solução

Você pode ligar QGraphicsPixmapItem::setShapeMode( QGraphicsPixmapItem::BoundingRectShape ) para que o item seja tratado como um retângulo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top