Как сделать так, чтобы приложение которое открывают в полный экран сохраняло пропорции
В общем мне нужно сделать так чтобы все пропорции сохранялись код не нужен, но я вставлю:
from tkinter import *
win = Tk()
win.title('имя')
win.geometry('1080x720')
win.state('zoomed')
Lt = Label(win, text='', font='Arial 30 bold', fg='white')
Lt.place(x=540, y=90, anchor=CENTER)
Bs = Button(win, text='Начало', font='Arial 40 bold', fg='white')
Bs.place(x=540, y=180, anchor=CENTER)
mainloop()
всем спасибо
Ответы (1 шт):
Автор решения: EugK
→ Ссылка
Вам нужно использовать метод
win.bind('<Configure>', ...)
для отслеживания изменений размеров окна и пересчитывать размеры и позиции всех элементов внутри интерфейса. Получится что-то вроде этого:
from tkinter import *
def update_positions():
width = win.winfo_width()
height = win.winfo_height()
label_font_size = int(min(width, height) * 0.03) # Размер шрифта для метки
Lt.config(font=f'Arial {label_font_size} bold')
Lt.place(x=width // 2, y=height // 8, anchor=CENTER)
def on_resize(event):
update_positions()
win = Tk()
win.title('Пример')
win.geometry('800x600')
win.state('zoomed')
Lt = Label(win, text='Текст', fg='white', background='blue')
Lt.place(x=540, y=90, anchor=CENTER)
win.bind('<Configure>', on_resize)
win.after(100, update_positions)
win.mainloop()