Buenas tardes
Como indiqué en mi presentación, estoy estudiando python de manera autodidacta. Para practicar, estoy haciendo una app de escritorio para controlar acuarios (otro de mis hobbys).
Ahora mismo estoy atascado con las imágenes, pues no logro visionarlas donde quiero.
En principio, el código abre una ventana principal a la que he añadido un botón y algunas etiquetas.
El botón abre una nueva ventana para añadir un nuevo acuario, pero no hay manera de poder ver la imagen. He mirado con Gemini y he consultado varios documentos, pero realmente no sé dónde puede estar el error.
Agradecido de antemano por el tiempo dedicado, un saludo
Raúl
Pues no entiendo nada, unas veces me funciona y otras no!
Como indiqué en mi presentación, estoy estudiando python de manera autodidacta. Para practicar, estoy haciendo una app de escritorio para controlar acuarios (otro de mis hobbys).
Ahora mismo estoy atascado con las imágenes, pues no logro visionarlas donde quiero.
En principio, el código abre una ventana principal a la que he añadido un botón y algunas etiquetas.
El botón abre una nueva ventana para añadir un nuevo acuario, pero no hay manera de poder ver la imagen. He mirado con Gemini y he consultado varios documentos, pero realmente no sé dónde puede estar el error.
Agradecido de antemano por el tiempo dedicado, un saludo
Raúl
Código:
import tkinter as tk
from tkinter import PhotoImage
from tkinter import *
# PNG iconos
ruta_add_icon = "E:\\GA\\Icons\\add.png"
# PNG imagenes
ruta_img_nuevo_acuario = "E:\\GA\\Images\\New_aquarium.png"
# Función para mostrar la pantalla de añadir nuevo acuario
def Nuevo_acuario():
# Crear ventana para nuevo acuario
Nuevo_acuario = tk.Toplevel()
Nuevo_acuario.geometry("800x600")
Nuevo_acuario.title("Nuevo acuario")
etiqueta_nuevo_acuario = tk.Label(Nuevo_acuario,text="Añadir nuevo acuario", font=("Arial", 14))
logo = tk.PhotoImage(file=ruta_img_nuevo_acuario)
imagen_nuevo_acuario = tk.Label(image=logo)
imagen_nuevo_acuario.pack()
imagen_nuevo_acuario.place(x=200,y=50)
etiqueta_nuevo_acuario.pack()
etiqueta_nuevo_acuario.place(x=300,y=350)
# ... (Agregar código para añadir acuario)
def leer_archivo_txt(ruta_user):
try:
with open(ruta_user, "r") as archivo:
primera_linea = archivo.readline().strip() # Lee la primera línea y elimina espacios
return primera_linea
except FileNotFoundError:
print(f"Error: El archivo '{ruta_user}' no existe.")
except Exception as e:
print(f"Error al leer el archivo: {e}")
ruta_user = "E:\\GA\\User.txt"
user = leer_archivo_txt(ruta_user)
if user:
print(f"Nombre de usuario leído: {user}")
else:
print("Error al leer el archivo.")
# Crear la ventana principal
ventana_principal = tk.Tk()
ventana_principal.geometry("600x400")
ventana_principal.title("Control de acuarios, by Rul_T")
# Etiqueta de bienvenida
etiqueta_bienvenida = tk.Label(text="¡Bienvenido a la aplicación de control de tus acuarios!", font=("Arial", 14))
etiqueta_bienvenida.pack()
etiqueta_bienvenida.anchor="center"
etiqueta_bienvenida.place(x=80,y=20)
# Crear usuario
if user == "User0":
user = input("¿Indica tu nombre?")
def crear_archivo_txt(ruta_user, contenido):
try:
with open(ruta_user, "w") as archivo:
archivo.write(contenido)
print(f"Archivo '{ruta_user}' creado con éxito.")
except Exception as e:
print(f"Error al crear el archivo: {e}")
contenido = user
crear_archivo_txt(ruta_user, contenido)
# Etiqueta de usuario
etiqueta_usuario = tk.Label(text= "Me alegro de verte, " + user, font=("Arial", 14))
etiqueta_usuario.pack()
etiqueta_usuario.place(x=150,y=50)
# Botón para acceder a la pantalla de gestión de acuarios
add_icon = PhotoImage(file=ruta_add_icon)
boton_nuevo_acuario = tk.Button(
width=45,
height=45,
command=Nuevo_acuario,
image=add_icon,
compound="top"
)
boton_nuevo_acuario.pack()
boton_nuevo_acuario.place(x=125,y=100)
# Etiquetas Ventana Principal
etiqueta_nuevo_acuario = tk.Label(text= "Añadir nuevo acuario", font=("Arial", 14))
etiqueta_nuevo_acuario.pack()
etiqueta_nuevo_acuario.place(x=220,y=120)
logo = tk.PhotoImage(file=ruta_img_nuevo_acuario)
imagen_nuevo_acuario = tk.Label(image=logo)
imagen_nuevo_acuario.pack()
imagen_nuevo_acuario.place(x=200,y=50)
# Iniciar el bucle principal de la ventana principal
ventana_principal.mainloop()
Pues no entiendo nada, unas veces me funciona y otras no!