Следующий проект должен отображать сообщение при нажатии определенной цветной кнопки. Но всякий раз, когда я запускаю программу, она показывает пустые (белые) кнопки с правильным выравниванием, et c. По какой-то причине изображения не загружаются. В будущем я планирую добавить разные изображения, поэтому буду тестировать цветные изображения, созданные в Paint, а не встроенные команды для отображения цвета. Я добавлю результат ниже после кода.
Edit: все изображения размером 100x100 пикселей, созданные в Microsoft Paint. Я пробовал другие модули, такие как PIL, но безрезультатно.
# importing the module
import tkinter
import tkinter.messagebox
from tkinter import *
# importing the module
# initialising tkinter
class window(Frame):
def __init__(self,master = None):
Frame.__init__(self,master)
self.master = master
# initialising tkinter
# creating the window
root = Tk()
app = window(root)
root.geometry("350x350")
# creating the window
# colours
WHITE = (255,255,255)
BLACK = (0,0,0)
BLUE = (0,0,255)
RED = (255,0,0)
# colours
# image
red_image = "red.png"
blue_image = "blue.png"
yellow_image = "yellow.png"
green_image = "green.png"
# image
# creating a button function
def create_button(x,y,color,color2,picture):
click = Button(root, image = PhotoImage(picture), width= 150, height=150, command = lambda : tkinter.messagebox.showinfo( "Hello Python", "This is " + color))
click.image = PhotoImage(picture)
click.grid( row = x, column = y)
# creating a button function
create_button(0,0,'red','pink',red_image)
create_button(0,2,'blue','lightblue',blue_image)
create_button(2,0,'green','lightgreen',green_image)
create_button(2,2,'yellow','lightyellow',yellow_image)
# starting the widget
root.mainloop()
# starting the widget
Результат