2017-03-19 51 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에서 pixmap 이미지의 크기를 변경하는 방법은 무엇입니까?

그림에서 나는 이미 갖고있는 것을 보여주고 싶습니다.

물론 Photoshop을 통해 크기를 변경할 수는 있지만 프로그래밍 방식으로하는 것이 좋습니다.

+1

'search_pixmap = search_pixmap.scaledToWidth (130) '등 – ekhumoro

+0

그 오류를 나타내는 전체 최소 예를 제공한다 – jdoeX324

+0

작동하지 않는다. – Trilarion

답변

0

QWidgetpaintEvent을 정의 해보십시오. 그러나 나는 단지 pixmap을 절대 위치 (posX, poxY)에 페인트하는 방법을 알고 상대 위치 (예 : 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)) 

widthheightpixmap을 확장의 차원이다.

3

ekhumoro는 QPixmap에서 scaled 메서드 중 하나를 사용하여 주석에서 설명합니다.

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