我正在 tkinter 上制作应用程序,我想将图片作为背景以及所有其他按钮和标签放在上面。有些东西对我不起作用,图片与其他所有内容重叠。下面是代码:
root = Tk()
root.geometry('1920x1080')
root.title('QuizOp')
root['bg'] = 'limegreen'
generalframe = Frame(master=root, bg='limegreen')
bgimage = ImageTk.PhotoImage(Image.open("stestimage.jpg"))
bglabel = Label(root, image=bgimage)
createquizbtn = Button(generalframe, bg='white', text='Создать викторину', font='Arial 17', command=createquiz)
proitiquizbtn = Button(generalframe, bg='white', text='Пройти викторину', font='Arial 17', command=proitiquiz)
sendquizbtn = Button(generalframe, bg='white', text='Отправить викторину', font='Arial 17', command=sendquiz)
deletequizbtn = Button(generalframe, bg='white', text='Удалить викторину', font='Arial 17', command=deletequiz)
settingsbtn = Button(generalframe, bg='white', text='Настройки', font='Arial 17', command=settingscmd)
bglabel.pack()
generalframe.pack()
createquizbtn.pack()
proitiquizbtn.pack()
sendquizbtn.pack()
deletequizbtn.pack()
settingsbtn.pack()
root.mainloop()
看起来 z 顺序(小部件相互堆叠的顺序)取决于它们的创建顺序(但不取决于调用 place/pack/grid 布局方法的顺序)。由于
Label图像是在 之后创建的generalframe,因此它Label被放置在此框架的顶部。这样它应该可以工作: