Я пытаюсь установить фоновое изображение в моем GUI, но я не смог разместить свои виджеты поверх холста. Я прочитал несколько похожих постов и узнал, что мне нужно сделать своих виджетов детьми Canvas, и это сложная часть, потому что я пытался, однако я не могу понять это. Пока у меня есть это.
import tkinter as tk
from tkinter import *
class Layout(tk.Frame):
def __init__ (self, master=None):
super().__init__(master)
self.master= master
self.pack()
self.my_widget()
def my_widget(self):
self.C1 = Canvas(height=500, width=400)
self.C1.place(height=1, width=3, anchor=NW)
bgi= PhotoImage(file='bgi.png')
self.C1.create_image(0,0,image=bgi,anchor=NW)
self.buttonhc=tk.Button(self, height=1, width=3, bd=0.4, background='green')
self.buttonhc["text"] = "HC"
self.buttonhc.grid(row=3, column=2, pady=(100,2), padx=(5,5))
root=tk.Tk()
C = Canvas(root, height=500, width=400)
C.master.geometry("500x400")
C.master.maxsize(500, 400)
C.pack(expand=YES, fill=BOTH)
bgi= PhotoImage(file='bgi.png')
C.create_image(0,0,image=bgi,anchor=NW)
app = Layout(master=C)
app.mainloop()
Я использую класс, потому что я изучаю OOP, но на самом деле я думаю, что это делает этот код более сложным, чем он есть. Пожалуйста, помогите мне решить эту проблему, я немного застрял в этом.
Заранее спасибо.