Indice
- Recursos utilizados
- Ruta de imagen
- nsertarción y borrado de imagen
- Imagen Ignore (Elastica)
- Imagen Keep (Proporcional)
- Imágenes utilizadas
- Previsualización
pip install PySide2
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")
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()
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
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)