requisito previo :
En este artículo, vamos a escribir una imagen de uso del programa en segundo plano. En Tkinter, no hay una función incorporada para imágenes, por lo que se puede usar como imagen de fondo. Se puede hacer con varios métodos:
Método 1: Usando métodos de fotoimagen .
Cuando se trata de una aplicación basada en GUI, las imágenes juegan un papel vital. Desde el ícono de la aplicación hasta la animación, es útil.
Para mostrar imágenes en etiquetas, botones, lienzos y widgets de texto, se utiliza la clase PhotoImage , que está presente en el paquete Tkinter.
Código:
Python3
# Import module from tkinter import * # Create object root = Tk() # Adjust size root.geometry("400x400") # Add image file bg = PhotoImage(file = "Your_image.png") # Show image using label label1 = Label( root, image = bg) label1.place(x = 0, y = 0) label2 = Label( root, text = "Welcome") label2.pack(pady = 50) # Create Frame frame1 = Frame(root) frame1.pack(pady = 20 ) # Add buttons button1 = Button(frame1,text="Exit") button1.pack(pady=20) button2 = Button( frame1, text = "Start") button2.pack(pady = 20) button3 = Button( frame1, text = "Reset") button3.pack(pady = 20) # Execute tkinter root.mainloop()
Producción:
Como puede ver, el color de fondo de los botones y las etiquetas es diferente al color de la imagen.
La solución es establecer el color de fondo de los botones y etiquetarlo como el color de la imagen con este color.
Python3
# Import module from tkinter import * # Create object root = Tk() # Adjust size root.geometry("400x400") # Add image file bg = PhotoImage( file = "Your_img.png") # Show image using label label1 = Label( root, image = bg) label1.place(x = 0,y = 0) # Add text label2 = Label( root, text = "Welcome", bg = "#88cffa") label2.pack(pady = 50) # Create Frame frame1 = Frame( root, bg = "#88cffa") frame1.pack(pady = 20) # Add buttons button1 = Button( frame1, text = "Exit") button1.pack(pady = 20) button2 = Button( frame1, text = "Start") button2.pack(pady = 20) button3 = Button( frame1, text = "Reset") button3.pack(pady = 20) # Execute tkinter root.mainloop()
Producción:
Nota: este método no funcionará para varios colores en la imagen.
Método 2: Uso de los métodos de Canvas .
Acercarse:
- Igual que la implementación anterior.
- Agregar archivo de imagen.
- Crea un lienzo y establece el ancho y la altura.
- Muestre la imagen usando create_image.
- Establece el texto usando create_text.
- Crear botones.
- Paso final Agregar botón usando create_window.
Código:
Python3
# Import module from tkinter import * # Create object root = Tk() # Adjust size root.geometry("400x400") # Add image file bg = PhotoImage(file = "Your_img.png") # Create Canvas canvas1 = Canvas( root, width = 400, height = 400) canvas1.pack(fill = "both", expand = True) # Display image canvas1.create_image( 0, 0, image = bg, anchor = "nw") # Add Text canvas1.create_text( 200, 250, text = "Welcome") # Create Buttons button1 = Button( root, text = "Exit") button3 = Button( root, text = "Start") button2 = Button( root, text = "Reset") # Display Buttons button1_canvas = canvas1.create_window( 100, 10, anchor = "nw", window = button1) button2_canvas = canvas1.create_window( 100, 40, anchor = "nw", window = button2) button3_canvas = canvas1.create_window( 100, 70, anchor = "nw", window = button3) # Execute tkinter root.mainloop()
Producción: