Python 框后的按钮

Python 框后的按钮,python,button,tkinter,frame,Python,Button,Tkinter,Frame,说到编码,我几乎是一个完全的初学者。我一直在使用python和TkinterGUI编写预订系统的代码。最终数据库将需要集成,但我正在尝试首先设置GUI。我的代码有点乱,但我现在并不担心。 我试着在画面前面放一个按钮,但它却在后面,有没有办法阻止 这是我的代码 def home_button(): home_title = Button(book, text='HOME', background='#DEEBF7', activebackground='#DEEBF7', width=1

说到编码,我几乎是一个完全的初学者。我一直在使用python和TkinterGUI编写预订系统的代码。最终数据库将需要集成,但我正在尝试首先设置GUI。我的代码有点乱,但我现在并不担心。 我试着在画面前面放一个按钮,但它却在后面,有没有办法阻止

这是我的代码

def home_button():
    home_title = Button(book, text='HOME', background='#DEEBF7', activebackground='#DEEBF7', width=15, border=0, font = ("Helvetica 15 italic"))
    home_title.place(x=423, y=81)

def bookings_button():
    bookings_title = Label(book, text='BOOKINGS', background='#DEEBF7', font = ("Helvetica 15 italic"))
bookings_title.place(x=475, y=85)
new_booking = Button(book, text='NEW BOOKING', width=20, height=2, background='#87B7E2')
new_booking.place(x=160, y=170)

def students_button():
    students_title = Label(book, text='STUDENTS', background='#DEEBF7', font = ("Helvetica 15 italic"))
    students_title.place(x=475, y=85)

##       GUI        ####
from tkinter import *

root = Tk()
#create the root window
book = Frame(root)
book.grid()

root.title("Home")
root.geometry("850x550")
root.configure(background='#DEEBF7')
backg = Button(book, height=850, width=550, background='#DEEBF7',
    activebackground='#DEEBF7', border=0)
backg.pack()
#modify the windows size, colour and the size of the grid

logo1 = Button(book, width=175, height=117, border=0, background='#DEEBF7', activebackground='#DEEBF7', command=home_button)
logo = PhotoImage(file='Logo1.gif')
logo1.image = logo
logo1.configure(image=logo)
logo1.place(x=50, y=20)

title = Label(book, text = "GRAHAM'S SCHOOL OF MOTORING", background = '#DEEBF7', font = ("Helvetica 24 bold"))
title.place(x=250, y=40)

frame=Frame(root, width=551, height=384, background='#000000')
frame.place(x=250, y=135)
frame=Frame(root, width=547, height=380, background='#DEEBF7', borderwidth=5)
frame.place(x=252, y=137)

home = Button(book, text = "HOME", height=2, width=20, background='#5F85CD',
    borderwidth=5, activebackground='#A2C7E8', relief='raised', command=home_button)
home.place(x=60, y=150)


bookings = Button(book, text="BOOKINGS", height=2, width=20, background='#5F85CD', borderwidth=5, activebackground='#A2C7E8', relief='raised', command=bookings_button)
bookings.place(x=60, y=235)


student = Button(book, text="STUDENTS", height=2, width=20, background='#5F85CD',
    borderwidth=5, activebackground='#A2C7E8', relief='raised', command=students_button)
student.place(x=60, y=320)


back = Button(book, text="BACK", height=2, width=20, background='#FF5559',
    borderwidth=5, activebackground='#BF230A', relief='raised')
back.place(x=45, y=450)

root.mainloop()
#kick off the window's event-loop

为了将按钮放在框架顶部,我更改了按钮的主窗口小部件:

我换了

new_booking = Button(book, text='NEW BOOKING', width=20, height=2, background='#87B7E2')


如中所述,切勿将
网格
放置
几何管理器混合在同一主窗口中。哪个按钮?哪一帧?@PM2Ring:小心你的术语。您可以将它们组合在同一窗口中(假设该窗口有多个帧),但不能在同一小部件中。@BryanOakley Ok。但是,OP将
.pack
place
混合在
框架中。感谢您的建议,我后来发现了这个错误,并将其更改,就像您一样,但还是要感谢您:)
new_booking = Button(root, text='NEW BOOKING', width=20, height=2, background='#87B7E2')