Как загрузить и показать масштабированное изображение с помощью pyqt4

Аналогичный вопрос был задан здесь , но без описания, как масштабировать изображение. Пока я нашел только спецификации C++ для QPixmap, и справочное руководство для pyQT4. Но последний, похоже, не имеет никакого отношения к QPixmap.

Вопрос: Кто-нибудь знает, как показать масштабированную версию полного изображения на основе кода в первой ссылке и/или где я могу найти pyQt4 характеристики?


person Alex    schedule 12.12.2012    source источник


Ответы (1)


Вы можете использовать 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_())    

Вы можете найти документацию по классам 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.

person unutbu    schedule 12.12.2012
comment
@JGreenwell: Спасибо за ссылку. Поскольку этот Q помечен pyqt4, я сделал ссылку на версию документации Qt4.8. - person unutbu; 24.03.2015