QLabel轮换

时间:2013-10-21 08:53:36

标签: c++ qt qtgui qlabel

我从像素图中得到一个标签集如下:

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

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

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

1 个答案:

答案 0 :(得分:4)

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

this link不是反复回答,而是解释如何进行旋转并保持图像的原始大小。


由于链接无效而更新...

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

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

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

如果您继续旋转相同的图像,它将会扭曲,因此请确保始终从存储的非旋转像素图进行旋转。