2

同様の質問がここで行われましたが、画像を再スケーリングする方法の説明はありません。これまでのところ、 C ++の仕様と、のリファレンスガイドしか見つかりませんでした。しかし、後者はQPixmapへの参照を持っていないようです。QPixmappyQT4

質問:最初のリンクのコードに基づいて完全な画像の再スケーリングされたバージョンを表示する方法、および/またはpyQt4仕様を見つけることができる場所を知っている人はいますか?

4

1 に答える 1

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_())    

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この場合、これらは新しいを返すメソッドであるため、文字列を検索することで関連するメソッドを見つけることができますQPixmapscaledToHeightそれが私が見つけた方法scaledToWidthです。

于 2012-12-12T20:56:28.030 に答える