web-dev-qa-db-ja.com

PyQt:画像を正しく表示するにはどうすればよいですか?

Pyqtで画像を表示したいので、ラベルとpixmapオプション、およびscaledContentsを使用しましたが、画像が歪んでいます。別のウィジェットを使用するか、他のことを行う必要がありますか?ありがとう。

これはコードです:

_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)

ただし、画像はラベルに合わせてサイズ変更されません。

10
GiannisIordanou

ピックスマップのscaled(const QSize, Qt::AspectRatioMode, Qt::TransformationMode)メソッドを使用します。オプションはQt::KeepAspectRatio画像を変形させません。デフォルトでは、アスペクト比は無視されます

また、scaledメソッドはスケーリングされたpixmapを返すため、次のように使用する必要があることに注意してください。

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

yourPixmapLabel.setScaledContents(True) pixmapをスケーリングして空き領域を埋め、十分である必要があります。それ以外の場合は、いくつかのコードを見てみましょう

0
NotCamelCase