2

此处提出了类似的问题,但没有描述如何重新缩放图像。到目前为止,我只找到了C++规范,以及. 但后者似乎并没有提到 QPixmap。QPixmappyQT4

问题:有谁知道如何根据第一个链接中的代码显示完整图像的重新缩放版本,和/或我可以在哪里找到pyQt4规格?

4

1 回答 1

3

您可以使用QPixmap.scaledToHeightQPixmap.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_())    

您可以在此处找到有关 PyQT 类(包括 QPixmap)的文档

有时当我懒惰不想阅读文档时,我会使用这个:

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

于 2012-12-12T20:56:28.030 回答