我正在编写一个程序,允许我通过他们的 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''
这成功地将图像绘制到 myLabel 上,这是一个 QLabel,但是,它非常缩放,我有
self.myLabel.setScaledContents(True)
在我的 ui_mainWindow 类中,如果我将其设置为 False,它会修复缩放,但它只显示图像的一小部分,因为图像比 QLabel 大得多。我想要的是能够保持纵横比,所以它看起来不会缩放和可怕。
我发现了这个:http ://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpixmap.html 它说明了如何使用它,但是我无法让它如上面的代码所示工作在我的评论中。有谁知道如何使用这个?如果是这样,您能否提供一个示例,我已经尝试过搜索,但我得到的大多数结果都是 C++ 中的工作示例,而不是 python。
谢谢!