Tkinter es un módulo de Python que se utiliza para crear aplicaciones GUI (interfaz gráfica de usuario) con la ayuda de una variedad de widgets y funciones. Como cualquier otro módulo GUI, también admite imágenes, es decir, puede usar imágenes en la aplicación para hacerla más atractiva.
La imagen se puede agregar con la ayuda del PhotoImage()
método. Este es un método Tkinter, lo que significa que no tiene que importar ningún otro módulo para poder usarlo.
Importante: Si tanto la imagen como el texto se dan en el Botón , el texto será dominado y solo aparecerá la imagen en el Botón. Pero si desea mostrar tanto la imagen como el texto, debe pasar el compuesto en las opciones del botón.
Button(master, text = "Button", image = "image.png", compound=LEFT)
compound = LEFT
-> la imagen estará en el lado izquierdo del botóncompound = RIGHT
-> la imagen estará en el lado derecho del botóncompound = TOP
-> la imagen estará en la parte superior del botóncompound = BOTTOM
-> la imagen estará en la parte inferior del botón
Sintaxis:
photo = PhotoImage(file = "path_of_file")
path_of_file es cualquier ruta válida disponible en su máquina local.
Código #1:
# importing only those functions # which are needed from tkinter import * from tkinter.ttk import * # creating tkinter window root = Tk() # Adding widgets to the root window Label(root, text = 'GeeksforGeeks', font =( 'Verdana', 15)).pack(side = TOP, pady = 10) # Creating a photoimage object to use image photo = PhotoImage(file = r"C:\Gfg\circle.png") # here, image option is used to # set image on button Button(root, text = 'Click Me !', image = photo).pack(side = TOP) mainloop()
Salida:
en la salida, observe que solo se muestra la imagen en el botón y el tamaño del botón también es más grande que el tamaño habitual porque no hemos establecido el tamaño de la imagen.
Código #2: Para mostrar tanto la imagen como el texto en el Botón .
# importing only those functions # which are needed from tkinter import * from tkinter.ttk import * # creating tkinter window root = Tk() # Adding widgets to the root window Label(root, text = 'GeeksforGeeks', font =( 'Verdana', 15)).pack(side = TOP, pady = 10) # Creating a photoimage object to use image photo = PhotoImage(file = r"C:\Gfg\circle.png") # Resizing image to fit on button photoimage = photo.subsample(3, 3) # here, image option is used to # set image on button # compound option is used to align # image on LEFT side of button Button(root, text = 'Click Me !', image = photoimage, compound = LEFT).pack(side = TOP) mainloop()
Salida:
observe que aparecen tanto el texto como la imagen y que el tamaño de la imagen también es pequeño.
Publicación traducida automáticamente
Artículo escrito por sanjeev2552 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA