TransWikia.com

как узнать размер окна Tkinter?

Stack Overflow на русском Asked on November 18, 2021

Написал программу и хочу сделать исполняемый файл с помощью pyinstaller, но к сожалению, при запуске программы, некоторые размеры окон неверны, т.к. я задаю геометрию окна таким образом: self.geometry('+{}+{}'.format(w, h)) В данном примере главное то, что размеры окна задаются автоматически.

При запуске программы через IDEL всё отображается правильно, но когда запускаю .exe файл, то размеры съезжают. Чтобы всё было хорошо, мне надо узнать автоматические размеры заданные окну. Как это можно реализовать?

2 Answers

Можно растянуть невидимый виджет на весь экран и измерить его размеры с помощью winfo_height и winfo_width. Приведу пример для кнопки:

import tkinter as tk
   
def func():
    x = button_place.winfo_width()
    y = button_place.winfo_height()
    print(x, y)
  
  
root = tk.Tk()
root.geometry('600x500')
button_place = tk.Button(root, text='', font='Times 15', command=func)
button_place.place(w=600, h=500)
  
root.mainloop()

Но это обычно используется для определения размеров виджетов. Для определения экрана нужна просто root.geometry(). Первый пример привел просто для дополнительной информации, может Вам понадобиться

Answered by Nezerix on November 18, 2021

Используйте метод geometry() класса tkinter.Tk(), пример:

import tkinter as tk
root = tk.Tk()
print(root.geometry())

Answered by n1tr0xs on November 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP