Содержание

Grid()

Этот упаковщик организует виджеты в виде таблицы в родительском виджете.

Синтаксис

widget.grid( grid_options )

Вот список возможных вариантов -

Примеры

Сетка 6x6:

from tkinter import *
 
root = Tk()
 
b = 0
for r in range(6):
   for c in range(6):
      b = b + 1
      Button(root, text = str(b), borderwidth = 1 ).grid(row = r,column = c)
 
root.mainloop()

Размещение кнопок по сетке:

from tkinter import *
 
root = Tk()
 
root.title('lesson9')
root.iconbitmap('python.ico')
root.geometry('600x400')
 
f = Frame(root)
f.pack(pady=10)
 
btn_list = [
    '7', '8', '9',
    '4', '5', '6',
    '1', '2', '3',
    '0'
]
row = 0
col = 0
for i in btn_list:
    if i == '0':
        Button(f, text=i, padx=10, pady=4).grid(row=row, columnspan=3)
    else:
        Button(f, text=i, padx=10, pady=4).grid(row=row, column=col)
    col +=1
    if col == 3:
        row +=1
        col = 0
root.mainloop()

Окно регистрации:

from tkinter import *
 
root = Tk()
 
user_l = Label(root, text="login:").grid(row=0, column=0, padx = 10, pady=10, sticky = W)
user_e = Entry(root).grid(row=0, column=1, columnspan=2, sticky = W+E,padx=10)
 
pas_l = Label(root, text="password:").grid(row=1, column=0, padx = 10, sticky = W)
pas_e = Entry(root, show="*").grid(row=1, column=1, columnspan=2, sticky = W+E, padx=10)
 
btn_login = Button(root, text='вход', padx= 5).grid(row=2, column=0, pady=15, sticky = W, padx=10)
btn_reg = Button(root, text='регистрация', padx= 5).grid(row=2, column=1, pady=10)
btn_forgot = Button(root, text='забыли пароль', padx= 5).grid(row=2, column=2, pady=10, padx=10)
 
root.mainloop()