Мое приложение с графическим интерфейсом не отвечает, я хочу, чтобы его размер изменялся в соответствии с размером окна.
В настоящее время я использую .place(x,y) для размещения компонентов.
Пример:
label.place(x=100,y=50)
Текущие компоненты при развернутых окнах
Попробовал найти решение и узнал о методе размещения компонента .pack(), он имеет 2 параметра относительно x (relx) и относительно y (rely) относительно своего фрейма/мастера. Протестировал, но мое приложение с графическим интерфейсом все равно не отвечает.
Трудно создать адаптивный графический интерфейс, используя place(). Опубликуйте то, что вы пробовали, используя pack().






Метод .place(x, y) всегда размещает виджет в одном и том же месте.
Если вы хотите, чтобы оно менялось при изменении размера окна, добавьте в свой код следующую строку:
root.bind("<Configure>", change_size)
Где Change_size — это функция, которую можно использовать для изменения размещения/размера виджетов в соответствии с размером окна.
Если вам нужны ширина и высота окна в функции изменения_размера (вероятно, они вам нужны), вот способ их получить:
width = win.winfo_width()
height = win.winfo_height()
Надеюсь, я вам помог, хорошего дня.
Так это что-то вроде медиа-запроса? всякий раз, когда размер окна изменяется, сначала посмотрите ширину и высоту, а затем мне нужно указать/изменить положение моих компонентов графического интерфейса?
Да, это решение используется в моих проектах.
Что означает «не отвечает» в этом контексте? Чего вы ожидаете и что происходит вместо этого?