=====Grid()===== Этот упаковщик организует виджеты в виде таблицы в родительском виджете. ====Синтаксис==== widget.grid( grid_options ) Вот список возможных вариантов - * **column** − Столбец для размещения виджета; по умолчанию 0 (крайний левый столбец). * **columnspan** − Сколько столбцов виджетов занимает; по умолчанию 1. * **ipadx, ipady** − Сколько пикселей для заполнения виджета, по горизонтали и вертикали, внутри границ виджета. * **padx, pady** − Сколько пикселей для заполнения виджета, по горизонтали и вертикали, за пределами границ виджета. * **row** − Строка для размещения виджета; по умолчанию первая строка, которая все еще пуста. * **rowspan** − Сколько занимает строк widget; по умолчанию 1. * **sticky** − Что делать, если ячейка больше виджета. По умолчанию при использовании sticky = '' виджет центрируется в своей ячейке. sticky может быть конкатенацией строк из нуля или более из N, E, S, W, NE, NW, SE и SW, направления компаса, указывающие стороны и углы ячейки, к которой привязан виджет. ====Примеры==== ===Сетка 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() {{ :python:оконное_приложение:tkinter:упаковщики:grid3.png?100 |}} ===Размещение кнопок по сетке:=== 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() {{ :python:оконное_приложение:tkinter:упаковщики:grid1.png?400 |}} ===Окно регистрации:=== 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() {{ :python:оконное_приложение:tkinter:упаковщики:grid2.png?400 |}}