目前發現有兩種方法,如下:
1、使用QPixmap的transformed函數旋轉,這個函數默認是以圖片中心為旋轉點,不能隨意設置旋轉點,使用如下:
QMatrix leftmatrix;
leftmatrix.rotate(180);
QLabel *pLabel= new QLabel();
pLabel->setPixmap(QPixmap(“:/images/img.png”).transformed(leftmatrix,Qt::SmoothTransformation));
實現效果是順時計旋轉180度
2、使用QPainter類
void Dialog::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPixmap pix;
pix.load("images/img.png");
painter.translate(50,50); //讓圖片的中心作為旋轉的中心
painter.rotate(90); //順時針旋轉90度
painter.translate(-50,-50); //使原點復原
painter.drawPixmap(0,0,100,100,pix);
}
http://blog.csdn.net/itjobtxq/article/details/9231103