Мой QGraphicsPixmapItem
должен сообщить правильный размер - его начальный размер должен соответствовать исходному размеру изображения.
Я замечаю что-то странное, если делаю элемент доступным для выбора: указанный размер на один пиксель больше.
Этого следует ожидать?
Будет ли такое поведение одинаковым для всех QGraphicsPixmapItems
, которые установлены для выбора?
(И, следовательно, могу ли я переопределить boundingRect()
, чтобы каждый раз вычитать 1 из размера, сообщаемого QGraphicsPixmapItem::boundingRect()
?)
Простая проверка с любым изображением:
QGraphicsPixmapItem p;
p.setFlags(QGraphicsItem::ItemIsSelectable);
QString fileName = QFileDialog::getOpenFileName(0, QObject::tr("Open Image File"),
QString(), QObject::tr(
"Png files (*.png);;Jpeg files (*.jpg *.jpeg);;Bitmap files (*.bmp)"));
QPixmap pixmap(fileName);
qDebug("%d %d", pixmap.size().width(), pixmap.size().height());
p.setPixmap(pixmap);
qDebug("%f %f", p.boundingRect().width(), p.boundingRect().height());