Как расположить виджеты (например, кнопки, табуляции или записи) в многокадровом приложении tkinter? - PullRequest
0 голосов
/ 11 февраля 2020

В настоящее время я пытаюсь расположить некоторые виджеты в верхней части фрейма с помощью sticky = 'n'. Этот кадр расположен рядом с большим кадром. Тем не менее, виджеты остаются в центре своего кадра. Я хотел бы оставить свободное место под метками e1-e4 и записями в коде ниже:

import tkinter as tk

master = tk.Tk()

# frame construction
topframe=tk.Frame(master,width = 600, height = 50,bg='red')
topframe.grid(row = 0, column = 0, columnspan=2)

leftframe = tk.Frame(master)
leftframe.grid(row = 1, column = 0)

rightframe = tk.Frame(master)
rightframe.grid(row = 1, column = 1)

bottomframe = tk.Frame(master,width = 600, height = 50, bg='green')
bottomframe.grid(row = 2, column = 0, columnspan=2)

# filling in the frame
tk.Label(leftframe, text="e1:").grid(row=1, sticky='n')
tk.Label(leftframe, text="e2:").grid(row=2, sticky='n')
tk.Label(leftframe, text="e3:").grid(row=3, sticky='n')
tk.Label(leftframe, text="e4:").grid(row=4, sticky='n')

canvas=tk.Canvas(rightframe, width=300, height=300,
                 borderwidth = 1, bg ='light grey',
                 highlightthickness=0, highlightbackground="blue")
canvas.grid(row=0, column=0)

e1 = tk.Entry(leftframe)
e2 = tk.Entry(leftframe)
e3 = tk.Entry(leftframe)
e4 = tk.Entry(leftframe)
e1.grid(row=1, column=1, sticky='n')
e2.grid(row=2, column=1, sticky='n')
e3.grid(row=3, column=1, sticky='n')
e4.grid(row=4, column=1, sticky='n')

master.mainloop()
...