PyQt5 - Classe QPixmap

QPixmapclasse fornece uma representação fora da tela de uma imagem. Ele pode ser usado como um objeto QPaintDevice ou pode ser carregado em outro widget, normalmente um rótulo ou botão.

Qt API tem outra classe semelhante QImage, que é otimizado para E / S e outras manipulações de pixels. Pixmap, por outro lado, é otimizado para ser mostrado na tela. Ambos os formatos são interconvertíveis.

Os tipos de arquivos de imagem que podem ser lidos em um objeto QPixmap são os seguintes -

BMP Bitmap do Windows
GIF Formato de intercâmbio gráfico (opcional)
JPG Joint Photographic Experts Group
JPEG Joint Photographic Experts Group
PNG Gráficos Portáteis de Rede
PBM Bitmap portátil
PGM Graymap portátil
PPM Pixmap portátil
XBM Bitmap X11
XPM X11 Pixmap

Os métodos a seguir são úteis para lidar com o objeto QPixmap -

Sr. Não. Métodos e Descrição
1

copy()

Copia dados de pixmap de um objeto QRect

2

fromImage()

Converte o objeto QImage em QPixmap

3

grabWidget()

Cria um pixmap a partir do widget fornecido

4

grabWindow()

Crie pixmap de dados em uma janela

5

Load()

Carrega um arquivo de imagem como pixmap

6

save()

Salva o objeto QPixmap como um arquivo

7

toImage

Converte um QPixmap em QImage

O uso mais comum do QPixmap é exibir a imagem em uma etiqueta / botão.

Exemplo

O exemplo a seguir mostra uma imagem exibida em um QLabel usando o setPixmap() método.

O código completo é o seguinte -

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

def window():
   app = QApplication(sys.argv)
   win = QWidget()
   l1 = QLabel()
   l1.setPixmap(QPixmap("python.png"))

   vbox = QVBoxLayout()
   vbox.addWidget(l1)
   win.setLayout(vbox)
   win.setWindowTitle("QPixmap Demo")
   win.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()

O código acima produz a seguinte saída -