1

问题很简单。我有一个QLabel对象,它通过将资源设置为pixmap属性来获取图片。因为 Qt Designer 是世界上(有史以来)最好的 GUI 设计器,所以它显示的图片向左旋转了 90°:

我要旋转的 QLabel

如何旋转 QLabel?

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

这里Breite == WidthHöhe == Height(Höhe,Breite 是德语(有史以来最好的语言)):

宽度和高度

我感谢您的帮助!

4

2 回答 2

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');
于 2017-02-19T01:12:45.973 回答
0

旋转图片后必须复制图片,因为 Qt Creator 将(为什么)不采用旋转...

于 2017-02-19T20:28:16.137 回答