Я пытаюсь сделать так, чтобы, если пользователь нажимает на QGraphicsItem, он создал QRubberBand только для этого элемента.
У меня в классе было следующее:
void ImagePixmapItem::mousePressEvent(QGraphicsSceneMouseEvent *event){
if(currentKey == Qt::Key_Control){
qDebug("This is a control click");
origin = event->screenPos();
if (!selected.isNull())
selected = new QRubberBand(QRubberBand::Rectangle, event->widget());
selected->setGeometry(QRect(origin, QSize()));
selected->show();
}
}
Это дает мне ошибку при вызове setGeometry, но никакой дополнительной информации.По сути, это был код, полученный от QRubberBand, за исключением того, что мне пришлось использовать event.screePos () и мне пришлось установить конструктор QRubberBand на event.widget () вместо «this», потому что, я думаю, QGraphicsItem не наследовалQWidget?
Есть ли лучший способ сделать это?
Спасибо