2017-02-18 69 views
1

问题很简单。我有一个QLabel对象,它通过将资源设置为pixmap属性来获取图片。因为Qt设计是世界上最好的GUI设计器(曾经)它显示的画面旋转90°左:Qt - 如何在Qt Creator UI Designer中旋转QLabel

QLabel which I want to rotate

我如何可以旋转QLabel?

如果有人能告诉我为什么Qt Creator会旋转图像本身,我也会很高兴。视窗(有史以来最好的操作系统)说,它有88像素的宽度和923像素的高度:

这里Breite == WidthHöhe == Height(Höhe的,Breite是德国(曾经最好的语言)):

Width and Height

我感谢您的帮助!

回答

1

如果我是你,我会旋转图像,然后设置标签像素图。可能不是最好的解决方案,但它的工作原理。

要旋转图像,你可以做这样的事情:

QPixmap original; 
// load original from your source or take it from somewhere 
QImage srcImg = original.toImage(); 
QPoint center = srcImg.rect().center(); 
QMatrix matrix; 
matrix.translate(center.x(), center.y()); 
matrix.rotate(90); 
QImage dstImg = srcImge.transformed(matrix); 
QPixmap dstPix = QPixmap::fromImage(dstImg); //New pixmap rotated 

现在你有新QPixmap旋转,随时可以设置为QLabel像素图。

如果您的计算机上有原始图像,则可以使用任何图像软件旋转原始图像并直接加载它。

QPixmap verticalPixmap('/path/to/image/rotatedImage.jpg'); 
+0

THX ...我没有提到的是,我居然旋转图像与_Paint_,但不幸的Qt把它像原来的...我实际上不得不复制图片。 – goulashsoup

0

这是必要的旋转它,因为Qt Creator的将(永远的原因),没有采用旋转后,将图片复制...

+0

这可能是缓存。我猜... –