C++ QLabel旋转

C++ QLabel旋转,c++,qt,qtgui,qlabel,C++,Qt,Qtgui,Qlabel,我有一个来自pixmap的标签集,如下所示: QLabel* label_image; label_image= new QLabel (this); label_image->setGeometry(0, 0, 500, 30); QPixmap pm; pm ... label_image->setPixmap(pm); 我现在想把它旋转90度。怎么做?这里有两个选项。第一个是子类QLabel并提供所需的旋转功能。或者,可以使用QTransform旋转在QLabel上设置的Q

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

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

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

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

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

解释如何旋转并保持图像的原始大小,而不是重复答案


由于无效链接而更新

本质上,您不能旋转实际标签,但可以旋转pixmap,然后在标签小部件上设置它

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

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

如果继续旋转同一图像,它将失真,因此请确保任何旋转始终来自存储的、未旋转的pixmap。

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

解释如何旋转并保持图像的原始大小,而不是重复答案


由于无效链接而更新

本质上,您不能旋转实际标签,但可以旋转pixmap,然后在标签小部件上设置它

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

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

如果您继续旋转同一图像,它将扭曲,因此请确保任何旋转始终来自存储的、未旋转的pixmap。

内部pixmap的旋转是否会产生与旋转标签本身相同的效果?@vahancho以及如何旋转标签?您不能旋转
QLabel
对象本身,但您可以旋转其pixmap。您可以继承QLabel并重写painEvent()函数,在该函数中可以绘制旋转的pixmap。内部pixmap的旋转是否会产生与旋转标签本身相同的效果?@vahancho以及如何旋转标签?您不能旋转
QLabel
对象本身,但是你可以旋转它的pixmap。你可以继承QLabel并重写painEvent()函数,在这里你可以绘制旋转的pixmap。@TheDarkKnight回答得不错,名字也不错@MaxVollmer,谢谢你让我知道;最新答案;希望这有帮助;O) @黑暗骑士回答得好,名字也不错@MaxVollmer,谢谢你让我知道;最新答案;希望这有帮助;O)