2017-02-18 52 views
1

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

QLabel which I want to rotate

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

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

Здесь Breite == Width и Höhe == Height (Höhe, Breite является немецким (лучшим языком никогда)):

Width and Height

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

ответ

1

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

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

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

Возможно, это кеш. Я полагаю... –

 Смежные вопросы

  • Нет связанных вопросов^_^