tkinter: как поставить текст и кнопку в центр?

window = Tk()
window.attributes("-fullscreen", True)
window.title("Python app")

lbl = Label(window, text="Click to start checking for parking payments", font=("Arial Bold", 50))  
lbl.grid(column=0, row=0)  

def buttonClick():

 f1 = open('C:/Users/Kate/Desktop/carnumbers.txt')
 f2 = open('C:/Users/Kate/Desktop/test.txt')
 line1 = next(f1)
 line2 = next(f2)

 if line1 == line2:

     print("equal")
 else:
     print("different")

btn = Button(window, text="Start", command=buttonClick)
btn.grid(column=0, row=2)  

window.mainloop()

Пробовала разные методы, но не получаеться поставить текст с первой строки и книпку со второй по средине. Новичок в Thinker. Буду очень благодарна за любую помощь!


Ответы (2 шт):

Автор решения: Anton Lugovkin

Если правильно понял, что требуется сделать. В этом случае надо использовать менеджер геометрии .pack() вместо .grid() и с его помощью поместить виджеты вверх в центр. То есть, вместо

lbl.grid(column=0, row=0) 

и

btn.grid(column=0, row=2) 

сделать

lbl.pack(side=TOP)

и

btn.pack(side=TOP)
→ Ссылка
Автор решения: Anton Lugovkin

Эта ошибка появляется из-за того, что в одном фрейме может быть использован только один менеджер геометрии - или pack или grid. В этом случае могу посоветовать создать объект-рамку Frame(), в котором разместить надписи по центру. А сам объект Frame() разместить на главном окне -

f=tkinter.Frame(master=window) 
f.pack(side=tkinter.TOP)

Так можно сделать несколько объектов-рамок, в которые можно размещать виджеты. В каждой рамке - или pack или grid! Если делать как в моем примере - то все рамки на главном окне следует также упаковывать методом pack.

→ Ссылка