我正在编写一个程序,通过TUMBLR的API上传照片,感谢你们的帮助,我已经实现了上传功能。我在GUI的侧边栏上放置了一个“queueBox”,显示图像名称,并将它们存储在QListWidget中。我已经在我的主类构造函数中添加了这个功能。
这成功地将图像绘制到我的标签(QLabel)上,但它被缩放得非常小,我需要
在我的ui_mainWindow类中,如果我将其设置为False,则可以解决缩放问题,但它只显示图像的一小部分,因为图像比QLabel大得多。 我想要的是能够保持纵横比,这样它就不会看起来缩放和可怕。
我找到了这个:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpixmap.html 它说明了如何使用它,但是我无法像上面代码中的注释那样使其工作。 有人知道如何使用吗? 如果知道,请提供一个示例,我已经尝试搜索,但我得到的大多数结果都是C ++中的工作示例,而不是python。
谢谢!
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)上,但它被缩放得非常小,我需要
self.myLabel.setScaledContents(True)
在我的ui_mainWindow类中,如果我将其设置为False,则可以解决缩放问题,但它只显示图像的一小部分,因为图像比QLabel大得多。 我想要的是能够保持纵横比,这样它就不会看起来缩放和可怕。
我找到了这个:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpixmap.html 它说明了如何使用它,但是我无法像上面代码中的注释那样使其工作。 有人知道如何使用吗? 如果知道,请提供一个示例,我已经尝试搜索,但我得到的大多数结果都是C ++中的工作示例,而不是python。
谢谢!
self.myLabel.setPixmap(QtGui.QPixmap(_fromUtf8(directory + '\\' + tempName)).scaled(self.myLabel.size(), QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation))
我添加了 "smoothTransformation",因为当将图像适应标签时,它可以使质量更好。然而,当图像被创建时,它位于标签的左侧,即如果它是一个正方形,它不会在标签的中间,而是在左侧,我搜索了文档,找不到任何执行我想要的操作的内容,有什么建议吗? - AntearaQLabel
。只需通过 Designer(如果您是通过 Designer 设计 UI)或通过调用self.myLabel.setAlignment(QtCore.Qt.AlignCenter)
来设置其对齐方式即可。 - Avarisself.passWord.setEchoMode(QtGui.QLineEdit.Password)
这将使输入看起来像是密码字段中常见的样子。但出乎意料的是,这也使输出变成了通常看到的圆点,如下所示:password = smart_str(self.passWord.displayText()) print password
- Antearafrom django.utils.encoding import smart_str, smart_unicode
如果我输入一个三个字母的密码,输出将是●●●
。输出应该显示“asd”(那是输入的内容),因为我无法验证●●●
以进行身份验证,这是显而易见的原因。 - Anteara