2017-01-13 46 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

感謝您的建議,我後來發現這個錯誤,並改變它,就像你有,但謝謝你:) –