2

我有一个来自像素图的标签集,如下所示:

QLabel* label_image;
label_image= new QLabel (this);
label_image->setGeometry(0, 0, 500, 30);

QPixmap pm;
pm ...
label_image->setPixmap(pm);

我现在想将它旋转 90 度。怎么做?

4

1 回答 1

4

您在这里有两个选择。第一个是子类化 QLabel 并提供您需要的旋转功能。或者,您可以使用 QTransform 旋转您在 QLabel 上设置的 QPixmap。

这个链接并没有反刍答案,而是解释了如何进行旋转并保持图像的原始大小。


由于无效链接更新...

本质上,你不能旋转实际的标签,但你可以旋转像素图,然后在标签小部件上设置它

QPixmap pm;
...
QTransform trans;
trans.rotate(90);

label_image->setPixmap(pm.transformed(trans));

如果继续旋转同一张图像,它会变形,因此请确保任何旋转始终来自存储的、未旋转的像素图。

于 2013-10-21T10:01:11.513 回答