Qt — Как повернуть QLabel в Qt Creator UI Designer

Проблема довольно проста. у меня есть QLabel объект, который получает изображение путем установки ресурса в pixmap приписывать. Поскольку Qt Designer — лучший GUI-дизайнер в мире (когда-либо), он показывает изображение, повернутое влево на 90 °:

QLabel, который я хочу повернуть

Как я могу повернуть QLabel?

Я также был бы счастлив, если бы кто-нибудь мог сказать мне, почему Создатель Qt вращает само изображение. Windows (лучшая ОС когда-либо) утверждает, что она имеет ширину 88 пикселей и высоту 923 пикселей:

Вот Breite == Width а также Höhe == Height (Хохе, Брайт — немецкий (лучший язык когда-либо)):

Ширина и высота

Я ценю вашу помощь!

2

Решение

Если бы я был тобой, я бы повернул изображение, а затем установил растровое изображение метки. Возможно, не лучшее решение, но оно работает.

Чтобы повернуть изображение, вы можете сделать что-то вроде этого:

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');
3

Другие решения

Необходимо скопировать изображение после его поворота, потому что Qt Creator (почему-либо) не примет поворот …

0

По вопросам рекламы [email protected]