2017-01-13 2 views
1

Я довольно много начинаю, когда дело доходит до кодирования. Я использовал python и графический интерфейс tkinter для кодирования системы бронирования. В конце концов, база данных должна быть интегрирована, но я сначала пытаюсь настроить графический интерфейс. Мой код немного грязный, но я не беспокоюсь об этом в эту минуту. Я пытаюсь получить кнопку infront кадра, но она остается позади, любой способ остановить это?Кнопка за кадром

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 tutorial] (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

Спасибо за совет, я позже заметил эту ошибку и изменил ее так же, как и у вас, но, к счастью, спасибо :) –

Смежные вопросы