Как расположить места для ввода рядом с кнопками?

То есть мой самый главный вопрос: как сделать какое-то расстояние между местами для ввода? Вот, что у меня есть пока:

введите сюда описание изображения

А вот часть моего кода, то есть принцип, по которому я иду:

que1 = tk.Label(master=frm_form, text="Answer ")
ans1= tk.Entry(master=frm_form, width=100)
def end1():
    end=tk.Label(master=frm_form, text='True!').grid()
but1=tk.Button(text='check', command=end1).place(x=520, y=40)
que1.grid(row=4, column=0, sticky="e")
ans1.grid(row=4, column=1)
window.mainloop()    

Буду рада найти ответ!


Ответы (1 шт):

Автор решения: insolor

Используйте grid вместо place (у вас другие элементы через grid размещены, поэтому не понятно зачем вам place), и указывайте master=frm_form при создании кнопки, чтобы все было в одном и том же фрейме (иначе у вас метки и текстовые поля будут во фрейме, а кнопки отдельно в основном окне снаружи фрейма):

but1=tk.Button(master=frm_form, text='check', command=end1)

que1.grid(row=4, column=0, sticky="e")
ans1.grid(row=4, column=1)
but1.grid(row=4, column=2)

Чтобы увеличить "зазор" между колонками или строками, используйте параметры padx (расстояние от границ виджета до границ ячейки по горизонтали) и pady (по вертикали) метода grid.

Пример:

for i in range(4):
    que1 = tk.Label(master=frm_form, text=f"Row {i}")
    ans1= tk.Entry(master=frm_form, width=100)
    but1=tk.Button(master=frm_form, text='check')
    
    que1.grid(row=i, column=0, sticky="e", padx=10, pady=20)
    ans1.grid(row=i, column=1, pady=20)
    but1.grid(row=i, column=2, pady=20)

Результат: Скриншот

→ Ссылка