2017-02-18 801 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

這可能是緩存。我猜... –