ventanas ventana toplevel maximizar mainloop emergente centrar botones python windows

ventana - tkinter python 3



Obtener la posición y el tamaño de la ventana con python (3)

¿Cómo puedo obtener y configurar la posición y el tamaño de la ventana (cualquier programa de Windows) con python?


Para Linux puedes usar la herramienta que hice here . La herramienta fue diseñada para un uso ligeramente diferente, pero puede utilizar la API directamente para sus necesidades.

Instalar herramienta

sudo apt-get install xdotool xprop xwininfo git clone https://github.com/Pithikos/winlaunch.git && cd winlaunch

En la terminal

>>> from winlaunch import * >>> wid, pid = launch(''firefox'') >>> win_pos(wid) [3210, 726]

wid y pid representan id de ventana e id de proceso respectivamente.


Puede obtener las coordenadas de la ventana utilizando la función GetWindowRect . Para esto, necesita un controlador para la ventana, que puede obtener utilizando FindWindow , suponiendo que sepa algo sobre la ventana (como su título).

Para llamar a las funciones de la API de Win32 desde Python, use pywin32 .


Suponiendo que está en Windows, intente usar el módulo win32gui con sus funciones EnumWindows y GetWindowRect .

Si está utilizando Mac OS X, podría intentar usar appscript .

Para Linux, puedes probar una de las muchas interfaces para X11.

Edición: Ejemplo para Windows (no probado):

import win32gui def callback(hwnd, extra): rect = win32gui.GetWindowRect(hwnd) x = rect[0] y = rect[1] w = rect[2] - x h = rect[3] - y print("Window %s:" % win32gui.GetWindowText(hwnd)) print("/tLocation: (%d, %d)" % (x, y)) print("/t Size: (%d, %d)" % (w, h)) def main(): win32gui.EnumWindows(callback, None) if __name__ == ''__main__'': main()