PYQT5 agregar múltiples imágenes a la ventana
No puedo agregar dos imágenes a una ventana en Python. He buscado en otros hilos del foro y no me ayudaron. Solo se agrega una con la función QImage. Quiero que tanto la imagen original como la imagen en la que haré cambios aparezcan en el programa. Simplemente, no pude agregar la imagen original, las operaciones en la imagen normal, etc. Puedo hacerlo, no hay problema. Dicen QPixmap o algo así, pero no entiendo. Adjunto los códigos:
def openImage(self, image_label):
image_file, _ = QFileDialog.getOpenFileName(self, "Abrir imagen",
"", "Archivos PNG (*.png);;Archivos JPG (*.jpeg *.jpg );;Archivos Bitmap (*.bmp);;\
Archivos GIF (*.gif)")
if image_file:
self.parent.zoom_factor = 1
self.parent.print_act.setEnabled(True)
self.parent.updateActions()
self.parent.brightness_slider.setValue(0)
image_format = self.image.format()
self.image = QImage(image_file) #área manipulada
self.original_image = self.image.copy() #Imagen original
self.setPixmap(QPixmap().fromImage(self.image))
self.resize(self.pixmap().size())
elif image_file == "":
# El usuario seleccionó Cancelar
pass
else:
QMessageBox.information(self, "Error",
"No se pudo abrir la imagen.", QMessageBox.Ok)
Muchas gracias de antemano. El modelo que quiero hacer es este:
Solo lo puse para que entiendas cómo quiero hacerlo. No es porque me escribas un proyecto desde cero.
davy.ai
Basado en tu código y explicación, parece que quieres mostrar tanto la imagen original como la imagen manipulada en la misma ventana. Has mencionado que has intentado usar
QImage
para mostrar una imagen pero no has podido descifrar cómo mostrar ambas imágenes. Aquí tienes algunas sugerencias que podrían ayudarte:Dado que ya tienes un widget de etiqueta (image_label) para mostrar la primera imagen, puedes crear un nuevo widget de etiqueta para mostrar la segunda imagen. Aquí tienes un ejemplo:
Puedes usar un gestor de diseño (por ejemplo, QVBoxLayout o QHBoxLayout) para organizar las dos etiquetas una al lado de la otra. Aquí tienes un ejemplo:
En lugar de usar QImage, puedes usar QPixmap para mostrar las imágenes. Aquí tienes un ejemplo:
Ten en cuenta que debes proporcionar las rutas de los archivos de la imagen original y la imagen manipulada.
Espero que estas sugerencias te ayuden a resolver tu problema. Hazme saber si tienes alguna pregunta o necesitas más ayuda.