Можно ли настроить содержимое окна tkinter под размер экрана? Например, если бы я создал окно в соответствии с разрешением экрана 1366x768, а затем я запускаю тот же код в системе с разрешением 1024x768 и динамически изменяю размер его содержимого? Я знаю, что могу использовать структуру сетки как , как описано здесь , и соответствующим образом установить вес ячеек. Но возможно ли это с геометрической структурой пакета, а не с сеткой? Я спрашиваю об этом, потому что половина проекта, над которым я работаю, была сделана моим коллегой, и он вообще не использовал сетку. Поэтому вместо того, чтобы переделывать весь код в сетке, я ищу способ обойти это. Вот пример кода, который мне нужно изменить -
def container(self):
frame_number_panel = tk.Frame(self.parent, width=round(Dimension.SCREEN_WIDTH*0.8), height=Dimension.SCREEN_HEIGHT, bg="#eeeeee")
frame_number_panel.pack(side="left", anchor=W)
frame_number_panel.pack_propagate(False)
self.main_container(frame_number_panel)
# right side pannel
frame_right_side_panel = tk.Frame(self.parent, bg="#101115", width=round(Dimension.SCREEN_WIDTH*0.2), height=Dimension.SCREEN_HEIGHT)
frame_right_side_panel.pack(side="right", anchor=NE)
frame_right_side_panel.pack_propagate(False)
frame_first_row = tk.Frame(frame_right_side_panel, bg="#101115")
frame_first_row.pack()
winning_claim_image = PhotoImage(file=ResourcePath.resource_path('images/icon_win_claim.png'))
label_winning_claim = tk.Label(frame_first_row, bg="#fcd116", text="WINNING\nCLAIM", image=winning_claim_image,
compound="left", fg="#231f20", font=("Roboto-Bold", 10, "bold"),
width=Dimension.label_winning_claim_width,
height=Dimension.label_winning_claim_height)
label_winning_claim.image = winning_claim_image
label_winning_claim.pack(side="left", padx=Dimension.label_winning_claim_padx)
reprint_image = PhotoImage(file=ResourcePath.resource_path('images/reprint_2.png'))
label_reprint = tk.Label(frame_first_row, bg="#8ac539", text="REPRINT", image=reprint_image,
compound="left", fg="#231f20", font=("Roboto-Bold", 10, "bold"),
width=Dimension.label_winning_claim_width, height=Dimension.label_winning_claim_height)
label_reprint.image = reprint_image
label_reprint.pack(side="left", padx=Dimension.label_winning_claim_padding)
, как вы можете видеть, все виджеты размещаются с помощью диспетчера геометрии пакетов.