tkinter как при удалении одного виджета, перемещать вверх все виджеты стоящие ниже удалённого виджета

Nikita 2020

Новичок
Пользователь
Май 21, 2020
46
3
8
Пример кода:
Код:
from tkinter import *
i = 50
def cmd():
    global i
    entry_get = entry.get()
    labl = Label(root, text = entry_get)
    labl.place(y = i, x = 0)
    btn_delete_labl = Button(root, text = "delete")
    btn_delete_labl.place(y = i, x = 30)
    i += 30

root = Tk()
entry = Entry(root)
btn = Button(root, command = cmd, text = "click me")
entry.place(x = 50)
btn.place(y = 20, x = 50)
root.mainloop()
При вводе текста в entry и при нажатии на кнопку "click me" заносится виджет с названием ввода и кнопка "delete" рядом. Мне нужно чтобы когда пользователь нажмет на кнопку "delete" все виджеты стоящие ниже его перемещались выше а выбранный виджет удалялся.
 

Wolkan

Пользователь
Пользователь
Дек 4, 2020
26
5
3
Метод привязки виджетов place() четко привязывает виджет к определенной координате родительского окна. Почитай про метод упаковки grid(). Там как раз можно расположить виджеты по колонкам и столбцам и задать им привязки к направлениям. Так при удалении виджета методом destroy() остальные виджеты будут перемещаться в сторону привязки.
 
  • Мне нравится
Реакции: Nikita 2020

Форум IT Специалистов