Qt - 如何在 Qt Creator UI Designer 中旋转 QLabel
Qt - How to rotate a QLabel inside Qt Creator UI Designer
问题很简单。我有一个 QLabel
对象,它通过将资源设置为 pixmap
属性来获取图片。因为 Qt Designer 是世界上(有史以来)最好的 GUI Designer,它显示的图片向左旋转 90°:
如何旋转 QLabel?
如果有人能告诉我为什么 Qt Creator 会自己旋转图像,我也会很高兴。 Windows(有史以来最好的 OS)表示它的宽度为 88 像素,高度为 923 像素:
此处 Breite == Width
和 Höhe == Height
(Höhe,Breite 是德语(有史以来最好的语言)):
感谢您的帮助!
如果我是你,我会旋转图像,然后设置标签像素图。可能不是最好的解决方案,但它确实有效。
要旋转图像,您可以这样做:
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 = srcImage.transformed(matrix);
QPixmap dstPix = QPixmap::fromImage(dstImg); //New pixmap rotated
现在您已经旋转了新的 QPixmap
,可以将其设置为 QLabel
像素图。
如果您的计算机上有原始图像,一个更笨更简单的解决方案是使用任何图像软件旋转原始图像并直接加载它。
QPixmap verticalPixmap('/path/to/image/rotatedImage.jpg');
旋转后需要复制图片,因为Qt Creator不会(为什么永远)不采用旋转...
问题很简单。我有一个 QLabel
对象,它通过将资源设置为 pixmap
属性来获取图片。因为 Qt Designer 是世界上(有史以来)最好的 GUI Designer,它显示的图片向左旋转 90°:
如何旋转 QLabel?
如果有人能告诉我为什么 Qt Creator 会自己旋转图像,我也会很高兴。 Windows(有史以来最好的 OS)表示它的宽度为 88 像素,高度为 923 像素:
此处 Breite == Width
和 Höhe == Height
(Höhe,Breite 是德语(有史以来最好的语言)):
感谢您的帮助!
如果我是你,我会旋转图像,然后设置标签像素图。可能不是最好的解决方案,但它确实有效。
要旋转图像,您可以这样做:
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 = srcImage.transformed(matrix);
QPixmap dstPix = QPixmap::fromImage(dstImg); //New pixmap rotated
现在您已经旋转了新的 QPixmap
,可以将其设置为 QLabel
像素图。
如果您的计算机上有原始图像,一个更笨更简单的解决方案是使用任何图像软件旋转原始图像并直接加载它。
QPixmap verticalPixmap('/path/to/image/rotatedImage.jpg');
旋转后需要复制图片,因为Qt Creator不会(为什么永远)不采用旋转...