类似的问题被问到here,但没有说明如何重新缩放图像。到目前为止,我只找到QPixmap
pyQT4
,pyQt4
找到C++ specs。但后者似乎没有任何QPixmap的参考。
问题:有没有人知道如何根据第一个链接中的代码显示完整图像的重新缩放版本,和/或我可以找到{{1}}规格的位置?
答案 0 :(得分:3)
您可以使用QPixmap.scaledToHeight或QPixmap.scaledToWidth方法:
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
window.setGeometry(0, 0, 400, 200)
pic = QtGui.QLabel(window)
pic.setGeometry(10, 10, 400, 200)
pixmap = QtGui.QPixmap(FILENAME)
pixmap = pixmap.scaledToHeight(200)
pic.setPixmap(pixmap)
window.show()
sys.exit(app.exec_())
您可以找到documentation on PyQT classes (including QPixmap) here。
有时当我懒惰并且不想阅读文档时,我会使用它:
def describe(obj):
for key in dir(obj):
try:
val = getattr(obj, key)
except AttributeError:
continue
if callable(val):
help(val)
else:
print('{k} => {v}'.format(k = key, v = val))
print('-'*80)
pixmap = QtGui.QPixmap(FILENAME)
describe(pixmap)
打印有关传递给describe
的对象的所有属性的大量输出。在这种情况下,您可以通过搜索字符串-> QPixmap
找到相关方法,因为这些是返回新QPixmap
的方法。这就是我找到scaledToHeight
和scaledToWidth
的方式。