APIを介してTUMBLRに写真をアップロードできるプログラムを作成しています。アップロードは機能しています(皆さんに感謝します)。
GUIの横に「queueBox」を配置しました。これは画像名を表示し、QListWidgetに保存されます。これをメインクラスのコンストラクターに入れました:
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setupUi(self)
self.queueBox.itemClicked.connect(self.displayPhoto)
そして私はこの方法を持っています:
def displayPhoto(self, item):
tempName = (item.text())
print tempName
self.myLabel.setPixmap(QtGui.QPixmap(_fromUtf8(directory + '\\' + tempName)))
## self.myLabel.pixmap(QPixmap.scaled(aspectRatioMode = Qt.IgnoreAspectRatio))
## ^ ^ ^ What do I do with this? How do I set it to maintain aspect ratio?
## Currently it says ''NameError: global name 'Qt' is not defined''
これにより、QLabelであるmyLabelに画像が正常に描画されますが、非常に拡大縮小されています。
self.myLabel.setScaledContents(True)
ui_mainWindowクラスで、Falseにすると、スケーリングは修正されますが、画像がQLabelよりもはるかに大きいため、画像のごく一部しか表示されません。私が望んでいるのは、アスペクト比を維持できるようにすることです。そうすれば、拡大縮小されてひどく見えません。
私はこれを見つけました:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpixmap.html そしてそれはそれを使用する方法を示しています、しかし私はそれを上のコードに示されているように動作させることができません私のコメントで。誰かがこれを使用する方法を知っていますか?もしそうなら、例を教えていただけますか。検索してみましたが、得られる結果のほとんどは、PythonではなくC++での動作例です。
ありがとう!