Инструменты пользователя

Инструменты сайта


python:okonnoe_prilozhenie:tkinter:geometry

geometry

Tkinter предоставляет различные универсальные методы, одним из которых является метод geometry (). Этот метод используется для установки размеров окна Tkinter, а также для установки положения главного окна на рабочем столе пользователя.

Окно Tkinter без использования метода геометрии.

# importing only  those functions which are needed 
from tkinter import Tk, mainloop, TOP 
from tkinter.ttk import Button 
 
# creating tkinter window 
root = Tk() 
 
button = Button(root, text = 'Geeks') 
button.pack(side = TOP, pady = 5) 
 
mainloop()

Как только вы запустите приложение, вы увидите, что положение окна Tkinter находится в северо-западной позиции экрана, и размер окна также мал, как показано в выходных данных.

Меняем размер окна

# importing only those functions which 
# are needed 
from tkinter import Tk, mainloop, TOP 
from tkinter.ttk import Button 
 
# creating tkinter window 
root = Tk() 
 
# creating fixed geometry of the 
# tkinter window with dimensions 150x200 
root.geometry('200x150') 
 
button = Button(root, text = 'Geeks') 
button.pack(side = TOP, pady = 5) 
 
mainloop() 

После запуска приложения вы увидите, что размер окна Tkinter изменяется, но позиция на экране остается той же.

Меняем положение окна

# importing only those functions which 
# are needed 
from tkinter import Tk, mainloop, TOP 
from tkinter.ttk import Button 
 
# creating tkinter window 
root = Tk() 
 
# creating fixed geometry of the 
# tkinter window with dimensions 150x200 
root.geometry('200x150 + 400 + 300') 
 
button = Button(root, text = 'Geeks') 
button.pack(side = TOP, pady = 5) 
 
mainloop()

Когда вы запустите приложение, вы увидите, что позиция и размер изменяются. Теперь окно Tkinter появляется в другой позиции (300 смещено по оси Y и 400 смещено по оси X).

Мы также можем передать аргумент переменной в методе geometry, но он должен быть в форме (variable1) x (variable2), иначе это вызовет ошибку.

Окно по цетру с помощью динамических параметров

from Tkinter import *
root = Tk()
x = (root.winfo_screenwidth() - root.winfo_reqwidth()) / 2
y = (root.winfo_screenheight() - root.winfo_reqheight()) / 2
root.wm_geometry("+%d+%d" % (x, y))
root.mainloop()

Метод:

def setGeometry(win, winx, winy):#Функция выравнивает окно по центру
    x = (win.winfo_screenwidth() / 2 - winx / 2)
    y = (win.winfo_screenheight() / 2 - winy / 2)
    win.geometry("%dx%d+%d+%d" % (winx, winy, x, y))
python/okonnoe_prilozhenie/tkinter/geometry.txt · Последние изменения: 2023/01/12 12:18 (внешнее изменение)