2017-01-13 42 views
1

在编码方面,我几乎是一个完整的初学者。我一直在使用python和tkinter GUI来编写预订系统。最终数据库将需要集成,但我试图首先设置GUI。我的代码有点杂乱,但我并不担心这一点。 我试图得到一个框架的按钮,但它留在后面,阻止这种方式的任何方式?框架后面的按钮

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 
+0

正如[python-course.eu Tkinter教程](http://www.python-course.eu/tkinter_layout_management.php)中提到的,你应该_never_混合'pack','grid'和'place'几何管理器在同一个主窗口中。 –

+0

哪个按钮?哪一帧? –

+1

@ PM2Ring:小心你的术语。您可以将它们组合在同一个窗口中(假设该窗口具有多个框架),但不在同一个窗口小部件中。 –

回答

1

穿上框架顶部的按钮,我改变了按钮的控件大师:

我换成

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

来自

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

感谢您的建议,我后来发现这个错误,并改变它,就像你有,但谢谢你:) –