es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tkinter: no se pudo crear el mapa de bits de color para “…\logo.ico”

Necesito ayuda con respecto a las imágenes en Tkinter…
En primer lugar, lo tenía todo funcionando, pero no funcionaba porque necesitaba algún “código especial” para incluir archivos multimedia en un .exe (–onefile), así que tuve que reescribirlo con este código:

def resourcepath(relativepath):
    """ Obtiene la ruta absoluta de un recurso, funciona tanto para el desarrollo como para PyInstaller """
    try:
        # PyInstaller crea una carpeta temporal y almacena la ruta en MEIPASS
        basepath = sys.MEIPASS
    except Exception:
        basepath = os.path.abspath(".")

return os.path.join(base_path, relative_path)


Configuración de la ventana

root = tk.Tk()
root.title('Título')
root.geometry("300x300")
root.resizable(height=0, width=0)
root.frame()
photoPath = resourcepath('logo.png')
iconPath = resourcepath('logo.ico')
photo = Image.open(photoPath)
icon = tk.PhotoImage(iconPath)
root.iconphoto(False, icon)

(código “resource_path” de: https://dev.to/eshleron/how-to-convert-py-to-exe-step-by-step-guide-3cfi)

Incluso intenté hacer que el icono fuera un png, pero entonces tkinter dice “no se puede usar logo.png como iconphoto: no es una imagen de foto”

Luego edité el código para que fuera una PhotoImage y me arroja el error de mapa de bits de color nuevamente…

¿Qué estoy haciendo mal?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que está teniendo problemas para mostrar la imagen correctamente en su aplicación Tkinter. Es posible que la imagen que está intentando usar no esté en un formato que reconozca Tkinter. Para asegurarse de que la imagen esté en un formato compatible, puede intentar convertirla a un archivo .png o .ico. Además, es posible que necesite utilizar la función resource_path para asegurarse de que la imagen sea accesible cuando la aplicación se empaqueta en un archivo .exe.

Comments are closed.