代碼如下:
參考 if(!m_vehicleItem)
{
QString filename = QDir::currentPath() + "/vehicle.png";
qDebug() << "filename : " << filename;
QPixmap image(filename);
if(image.isNull())
{
qDebug() << "Error : image is not exist!" ;
}
QPixmap img = image.scaled(4000, 2000, Qt::KeepAspectRatio, Qt::SmoothTransformation);
m_vehicleItem = new QGraphicsPixmapItem();
m_vehicleItem->setPixmap(img);
// m_vehicleItem->setShapeMode(QGraphicsPixmapItem::HeuristicMaskShape);
m_vehicleItem->setOffset(- m_vehicleItem->boundingRect().width() / 2, - m_vehicleItem->boundingRect().height() / 2);
m_vehicleItem->setFlag(QGraphicsItem::ItemIsMovable);
scene()->addItem(m_vehicleItem);
}
m_vehicleItem->setPos(point);
m_vehicleItem->setRotation(60);
scene()->update();
參考 m_TestRouteView = new TestRouteView(scene);
scene->setView(m_TestRouteView);
// scene->setSceneRect(m_TestRouteView->viewport()->rect());
m_TestRouteView->setRenderHint(QPainter::Antialiasing);
m_TestRouteView->setCacheMode(QGraphicsView::CacheBackground);
m_TestRouteView->setOptimizationFlags(QGraphicsView::DontSavePainterState);
m_TestRouteView->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
// m_TestRouteView->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
m_TestRouteView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
只要我呼叫setRotation()函式旋轉之后縮放就會出現,不呼叫就沒事。
使用Transform完成旋轉操作也是一樣的問題!
大佬們,江湖救急!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/269219.html
標籤:C++ 語言
上一篇:救救新人,一個函式里面有兩個遞回呼叫的話,那呼叫程序會是怎樣的
下一篇:pta上的題目:Tree Traversals Again。引發錯誤:引發了例外: 讀取訪問權限沖突。 T 是 0xFFFFFFFFFFFFFFF7。