Относительный размер окна

Пишу программку на Python, только начал изучать python. Как сделать так чтобы ОКНО было относительного размера монитора.


Пример: Если у меня монитор 1440х990, а у пользователя 1920х1080 и другие...

from tkinter import * 

root = Tk()

root.title('Окно') 
root.geometry('1000x680') 
root.resizable(width=False, height=False) 
root.configure(background='#000000') 

root.mainloop()

Ответы (2 шт):

Автор решения: S. Nick

Попробуйте так

from tkinter import * 

root = Tk()

root.title('Окно') 

w = root.winfo_screenwidth()    # ширина экрана
h = root.winfo_screenheight()   # высота экрана
print(f'w = {w}, h = {h}')

#root.geometry('1000x680') 
root.geometry(f'{w}x{h}')

root.resizable(width=False, height=False) 
root.configure(background='#000000') 

root.mainloop()

Update

а так

root = Tk()

root.title('Окно') 

w = root.winfo_screenwidth()    # ширина экрана
h = root.winfo_screenheight()   # высота экрана
print(f'w = {w}, h = {h}')

w = w//2                        # середина экрана
h = h//2 
print(f'w = {w}, h = {h}')

w = w - 500                     # смещение от середины
h = h - 340
print(f'w = {w}, h = {h}')

#root.geometry('1000x680') 
root.geometry('1000x680+{}+{}'.format(w, h))

root.resizable(width=False, height=False) 
root.configure(background='#000000') 

root.mainloop()
→ Ссылка
Автор решения: FotonPC

Вот так точно должно работать!

from tkinter import *
root = Tk()

root.title('Окно') 

w = root.winfo_screenwidth()    # ширина экрана
h = root.winfo_screenheight()   # высота экрана
print(f'w = {w}, h = {h}')

rw = w - 200
rh = w - 100

w = w//2  - rw//2                  # середина экрана
h = h//2  - rh//2

root.geometry('{}x{}+{}+{}'.format(rw, rh,w, h))

root.resizable(width=False, height=False) 

root['bg'] = 'black'

root.mainloop()
→ Ссылка