Qt 4.7.4 - Сделайте прозрачные пиксели кликабельными (разверните хитбоксы) в растровом изображении QGraphicsItem
Я создаю редактор схем, используя Qt Creator. У меня есть холст QGraphicsScene/QGraphicsView, на который я хотел бы перетаскивать изображения компонентов схемы и перемещать их.
В настоящее время я использую растровое изображение QGraphicsItem и добавляю его на холст и делаю его подвижным. Это прекрасно работает, когда вы щелкаете непосредственно по линиям символа, однако символ не перемещается при нажатии прозрачных областей на изображении.
Есть ли способ расширить область хитбокса / мыши, чтобы эти прозрачные области реагировали так же, как другие области на символе? Ниже, как я добавляю изображение. (Мне нужно прозрачное изображение, чтобы другие символы были видны позади / перед ним)
QGraphicsItem* b = canvas.addPixmap(QPixmap(":/images/ground2.gif"));
b->setFlag(QGraphicsItem::ItemIsMovable);
b->setPos(qrand()%int(canvas.width()),qrand()%int(canvas.height()));
Вся помощь очень ценится! Спасибо! мистифицировать
1 ответ
Ты можешь позвонить QGraphicsPixmapItem::setShapeMode( QGraphicsPixmapItem::BoundingRectShape )
чтобы элемент обрабатывался прямоугольником.