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

ここには 2 つのオプションがあります。1 つ目は、QLabel をサブクラス化し、必要なローテーション機能を提供することです。または、QTransform を使用して、QLabel に設定した QPixmap を回転させることもできます。

答えを逆流させるのではなく、このリンクでは、回転を行い、画像の元のサイズを維持する方法について説明しています。


無効なリンクのため更新...

基本的に、実際のラベルを回転させることはできませんが、ピックスマップを回転させて、これをラベル ウィジェットに設定することはできます

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

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

同じ画像を回転し続けると、画像が歪むため、常に保存された回転されていないピックスマップから回転するようにしてください。

于 2013-10-21T10:01:11.513 に答える