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 шт):
Если правильно понял, что требуется сделать. В этом случае надо использовать менеджер геометрии .pack() вместо .grid() и с его помощью поместить виджеты вверх в центр. То есть, вместо
lbl.grid(column=0, row=0)
и
btn.grid(column=0, row=2)
сделать
lbl.pack(side=TOP)
и
btn.pack(side=TOP)
Эта ошибка появляется из-за того, что в одном фрейме может быть использован только один менеджер геометрии - или pack или grid. В этом случае могу посоветовать создать объект-рамку Frame(), в котором разместить надписи по центру. А сам объект Frame() разместить на главном окне -
f=tkinter.Frame(master=window)
f.pack(side=tkinter.TOP)
Так можно сделать несколько объектов-рамок, в которые можно размещать виджеты. В каждой рамке - или pack или grid! Если делать как в моем примере - то все рамки на главном окне следует также упаковывать методом pack.