05-04-2020, 09:03 AM
Buenas:
Estoy cambiando mi manera de programar con tkinter mi app tal y como dice el título y estoy teniendo problemas en concreto con la clase PhotoImage que uso para crear iconos que añado a los botones. Todo funciona perfectamente excepto que no me muestra los iconos en los botones y dependiendo de la función command que le asignes al botón da errores o no.
Os muestro el ejemplo que funciona con from tkinter import *:
¿Qué estoy haciendo mal?.
Os pongo el error que me da cuando intento deshabilitar el botón que presiono por ejemplo. (he comprobado que la ruta al archivo y el nombre del mismo es correcto.
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.7/tkinter/__init__.py", line 1705, in __call__
return self.func(*args)
File "/home/juan/Templates/Python/Appemergency/Ccd.py", line 138, in cronatatorccd
self.butcronaccd.configure(state=tk.DISABLED)
File "/usr/lib/python3.7/tkinter/__init__.py", line 1485, in configure
return self._configure('configure', cnf, kw)
File "/usr/lib/python3.7/tkinter/__init__.py", line 1476, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: image "pyimage3" doesn't exist
Muchas Gracias.
Estoy cambiando mi manera de programar con tkinter mi app tal y como dice el título y estoy teniendo problemas en concreto con la clase PhotoImage que uso para crear iconos que añado a los botones. Todo funciona perfectamente excepto que no me muestra los iconos en los botones y dependiendo de la función command que le asignes al botón da errores o no.
Os muestro el ejemplo que funciona con from tkinter import *:
Código:
Photosalir = PhotoImage(file="/home/juan/Templates/Python/Appemergency/icons/exitapp.gif") # Este es el icono y en principio funciona
self.windexit = ttk.Button(self.frame12ccl, cursor='hand2', style="STADD.TButton", image=Photosalir, command=exitroot) # Este es el botón dónde lo coloco.
self.windexit.grid(row=0, column=2, ipady=35)
# Y este es el lo único que se me ha ocurrido cambiar en el import tkinter as tk:
Photosalir = tk.PhotoImage(file="/home/juan/Templates/Python/Appemergency/icons/exitapp.gif")
self.windexit = ttk.Button(self.frame12ccl, cursor='hand2', style="STADD.TButton", image=Photosalir, command=exitroot) # Este es el botón dónde lo coloco.
self.windexit.grid(row=0, column=2, ipady=35) # Este no muestra el icono.
Os pongo el error que me da cuando intento deshabilitar el botón que presiono por ejemplo. (he comprobado que la ruta al archivo y el nombre del mismo es correcto.
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.7/tkinter/__init__.py", line 1705, in __call__
return self.func(*args)
File "/home/juan/Templates/Python/Appemergency/Ccd.py", line 138, in cronatatorccd
self.butcronaccd.configure(state=tk.DISABLED)
File "/usr/lib/python3.7/tkinter/__init__.py", line 1485, in configure
return self._configure('configure', cnf, kw)
File "/usr/lib/python3.7/tkinter/__init__.py", line 1476, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: image "pyimage3" doesn't exist
Muchas Gracias.