ALEX7320 / imagenqlabel

Agregar imagen en QLabel (keep & ignore)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Agregar imagen en QLabel (keep & ignore)

Indice

Recursos utilizados

pip install PySide2

Documentación QLabel

Ruta de imagen

Para ello tabajaremos con la funcion QFileDialog

Parametros de QFileDialog

QFileDialog().getOpenFileName(None, 'Titulo', 'ruta por defecto', 'extensiones de archivo')

En el codigo retorna la posicion 0 ya que en allí se encuentra la ruta del archivo seleccionado

def obtener_ruta(self):
    ruta = QFileDialog().getOpenFileName(None, 'Seleccionar archivo',r'./images',
                                        "Archivos de imagen (*.jpg *.png);;Imagen (*.jpg);;Imagen (*.png)")
    return ruta[0]

Para verificar que la ruta es valida lo condicionamos de la siguiente manera

if(ruta==''):
	print("Invalida")
else:
	print("Valido")

Insertarción y borrado de imagen

Insertar

Cargar mediante una ruta

imagen = QPixmap.fromImage("./imagen1.fpg")

He insertarlo en el label

label.setPixmap(imagen)

Eliminar

Para restablecer el QLabel, utilizamos el metodos clear

label.clear()

Imagen Ignore (Elastica)

Configuración previa

Al agregar el objeto QLabel, debemos configurar con scaledContents

y en codigo procedemos a insertar la imagen

imagen = QPixmap.fromImage(ruta)
label.setPixmap(imagen)

En ese apartado no intereza la proporción debido a que adaptara la imagen a todo el tamaño del QLabel

Imagen Keep (Proporcional)

Configuración previa

Al agregar el objeto QLabel, debemos configurar el ambos alignament en el centro: AlinearCentroH y AlinearCentroV

Antes de insertar la imagen, se procede a verificar el tamaño de la imagen, en donde si

  • alto_imagen < ancho_imagen : se escala el ancho de imagen con respecto al ancho del label

  • alto_imagen > ancho_imagen : se escala el ancho de imagen con respecto al ancho del label

imagen=QPixmap.fromImage(QImage(ruta))#imagen.jpg

if(imagen.height()<imagen.width()):
    imagen = imagen.scaledToHeight(label.height(),Qt.SmoothTransformation)
	
else:
    imagen = imagen.scaledToWidth(label.width(),Qt.SmoothTransformation)
	
label.setPixmap(imagen)

Imágenes utilizadas

Previsualización

About

Agregar imagen en QLabel (keep & ignore)


Languages

Language:Python 100.0%