2017-03-19 4 views
0
first_row = QtGui.QHBoxLayout() 

setings_search = QtGui.QVBoxLayout() 
search_label = QtGui.QLabel() 
search_pixmap = QtGui.QPixmap() 
search_pixmap.load('search.png') 

#search_pixmap.scaledToWidth(130) 
#search_pixmap.scaledToHeight(130) 

search_label.setPixmap(search_pixmap) 

setings_search.addWidget(search_label) 
first_row.addLayout(setings_search) 

scaledscaledToWidth/Heigthの両方の方法を使用すると画像のサイズが変更されません。 my windowPyQt4でピックスマップイメージのサイズを変更する方法は?

私がすでに持っているものと持っているものを示しました。

もちろん、私はPhotoshopでサイズを変更することができますが、私はそれをプログラム的に行う方法を知っています。

+1

'search_pixmap = search_pixmap.scaledToWidth(130)'など – ekhumoro

+0

それはあなたがエラーを示す完全な、最小限の例を与える必要があります – jdoeX324

+0

動作しません。 – Trilarion

答えて

0

QWidgetpaintEventを定義してみてください。しかし、絶対位置(posXpoxY)に塗りつぶす方法はわかっていますが、相対位置についてはわかりません(QVBoxLayout)。

def paintEvent(self, event): 
    qp = QtGui.QPainter() 
    search_pixmap = QtGui.QPixmap('search.png') 
    qp.drawPixmap(posX, posY, width, height, pixmap.scaled(width, height, transformMode=QtCore.Qt.SmoothTransformation)) 

どこwidthheightはあなたpixmapのスケールの大きさです。

3

ekhumoroはコメントで、QPixmapのscaledメソッドのうちの1つを使用するだけです。

from PyQt4 import QtGui 

app = QtGui.QApplication([]) 

label = QtGui.QLabel() 

pixmap = QtGui.QPixmap() 
pixmap.load('test.png') 
pixmap = pixmap.scaledToWidth(20) 
label.setPixmap(pixmap) 

label.show() 

app.exec() 

は、正確に正しいサイズを示します。

enter image description here

関連する問題