что такое qtransform в QGraphicsScene :: itemAt ()

Я создаю кастом QGraphicsItem, И перезаписать boundingRect() а также paint(),

QRectF myTile::boundingRect() const
{
return QRectF(xPos*10, yPos*10, 10, 10);
}

void myTile::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QRectF rec = boundingRect();
int gvi = value * 255;
QColor gv(gvi, gvi, gvi, 255);
QBrush brush(gv);
painter->fillRect(rec, brush);
painter->drawRect(rec);
}

Тогда я использую addItem() добавить элемент в сцену. Теперь я хочу получить его со сцены по его положению. Я нахожу itemAt функция. Но проблема в том, что я не знаю, что такое const QTransform & deviceTransform, Что я должен использовать для QTransform?.

Потому что я не реализовал никакого преобразования в QGraphicsItem, Это смущает меня.

11

Решение

QGraphicsItem * QGraphicsScene::itemAt ( const QPointF & position, const QTransform & deviceTransform ) const

Возвращает самый верхний видимый элемент в указанной позиции или 0, если
На этой позиции нет товаров. deviceTransform это
преобразование, которое применяется к представлению, и должно быть предоставлено, если
сцена содержит элементы, которые игнорируют преобразования. Эта функция
был введен в Qt 4.6.

Поэтому я бы сказал, что если вам нужно преобразовать некоторые элементы и игнорировать другие, вы можете просто перейти со значением по умолчанию: QTransform() или даже лучше QGraphicsView::transform() const,

так долго, зай

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]