Как заставить рамку и кнопки на экране динамически меняться при изменении размера окна в tkinter?

#python #tkinter

Вопрос:

 FreamBtn = Frame(wind, bg="gray26", height=50, width=1090)
FreamBtn.place(x=20, y=170)
 

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Используйте pack() метод: FrameBtn.pack(expand="yes", fill="both") . Это должно заставить его расширяться и сжиматься вместе с окном.

Комментарии:

1. Спасибо за ваш ответ, я хочу поместить его в определенное место

2. @ABODEALBASH Я просмотрел документацию, и нет реального способа разместить рамку внутри окна и разместить ее в определенном месте, просто используя place() функцию. Единственные параметры, которые вы можете передать, чтобы place() либо установить привязку рамки (что вы уже делаете), настроить режим границы, либо установить ширину и высоту рамки относительно окна.

3. Имея это в виду, вы, возможно, могли бы регулировать размер виджета всякий раз, когда изменяется размер окна, путем привязки к <Configure> событию окна. Я обновлю свой ответ, если смогу найти хороший способ сделать это.

4. Хорошо, попробовал метод, упомянутый выше, и он отлично работает, если в кадре ничего нет, но когда я вставляю кнопку в кадр, он не изменяется. Вы можете заглянуть в историю изменений, чтобы увидеть, как это работало с пустой рамкой, если хотите.