Я пытаюсь выровнять метку в центре окна с двумя кнопками под ним, также по центру.Я гуглил и смотрел здесь, чтобы выяснить, как это сделать, и я нашел, что сетка полезна, но она не делает то, что я ожидаю.Это работает так, как я и ожидал, если бы я поместил каждый из виджетов в разные строки и столбцы, но если бы я поместил их в разные строки и один и тот же столбец, они просто останутся выровненными по левому краю.Что я делаю не так с сеткой?Также будут приветствоваться любые предложения о том, как я могу улучшить код в целом
Я пропустил классы LoadedMachine и CreateMachine, потому что не чувствую, что они нужны.Если они будут полезны, я могу отредактировать вопрос, чтобы добавить их.
class App(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side='top', fill='both', expand=True)
self.frames = {}
for F in (StartPage, LoadedMachine, CreateMachine):
page_name = F.__name__
frame = F(parent=container, controller=self)
self.frames[page_name] = frame
frame.grid(row=0, column=0)
frame.config(bg='white')
self.show_frame('StartPage')
def show_frame(self, page_name):
frame = self.frames[page_name]
frame.tkraise()
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
self.rowconfigure(0, weight=1)
self.rowconfigure(1, weight=1)
self.rowconfigure(2, weight=1)
self.columnconfigure(0, weight=1)
self.columnconfigure(1, weight=1)
self.columnconfigure(2, weight=1)
welcome_label = tk.Label(self, text='Welcome', bg='green', fg='white', font=('Verdana', 80))
welcome_label.grid(row=0, column=1)
loadButton = tk.Button(self, text='Load an existing state machine', command=lambda: controller.show_frame('LoadedMachine'))
loadButton.config(highlightbackground='green', font=('Verdana', 18))
loadButton.grid(row=1, column=1)
createButton = tk.Button(self, text='Create a new state machine', command=lambda: controller.show_frame('CreateMachine'))
createButton.config(highlightbackground='green', font=('Verdana', 18))
createButton.grid(row=2, column=1)
if __name__ == '__main__':
app = App()
app.title('Cognitive State Machine')
app.geometry('800x600')
app.mainloop()
Вот что я получаю:
![enter image description here](https://i.stack.imgur.com/mz3Af.png)
Я хочу, чтобы кнопки были ближе друг к другу и ближе к ярлыку.