2011-12-31 27 views
10

私はpyqtでイメージを表示したいので、ラベルとpixmapオプションを使用し、scaledContentsを使用しましたが、イメージが歪んでいました。別のウィジェットを使用するか他に何かしますか?ありがとう。PyQt:画像を正しく表示するにはどうしたらいいですか?

これはコードです:

from PyQt4 import QtCore, QtGui 
self.label.setPixmap(QtGui.QPixmap(_fromUtf8('image.jpg'))) 
self.label.setScaledContents(True) 

私はQtDesignerを使用しています。

私はこの試みた:self.label.pixmap().scaled(QtCore.QSize(self.label.size()), QtCore.Qt.KeepAspectRatio, QtCore.Qt.FastTransformation)

をしかし画像がラベルに合わせてサイズ変更されません。

+0

支援するためのコードが必要:デフォルトでは、また、アスペクト比

を無視scaled方法がスケーリングpixmapを返すので、それはこの方法を使用しなければならないことに注意することです。 –

答えて

12

scaled(const QSize, Qt::AspectRatioMode, Qt::TransformationMode) pixmapの方法を使用してください。この画像には、画像を変形しないオプションQt::KeepAspectRatioがあります。

myPixmap = QtGui.QPixmap(_fromUtf8('image.jpg')) 
myScaledPixmap = myPixmap.scaled(self.label.size(), Qt.KeepAspectRatio) 
self.label.setPixmap(myScaledPixmap) 
+0

私に例を教えてもらえますか? – GiannisIordanou

+0

self.label.pixmap()。scale(QSize(self.label.size()、Qt.KeepAspectRatio、Qt.FastTransformation)、最終的に上記の後に上記を使用すると異なるサイズの – Gianluca

+0

を選択することができます:self.label .setPixmap(QtGui.QPixmap(_fromUtf8( 'image.jpg'))) エラーが発生し、構文が無効です – GiannisIordanou

0

yourPixmapLabel.setScaledContents(True)は、空き領域を埋めるようにpixmapを拡大/縮小します。そうでない場合は、いくつかのコードを見てください。

関連する問題