Obtener la resolución de la pantalla desde Python
Posted on jue 27 agosto 2015 in posts • 2 min read
Este artículo se basa en un artículo en inglés sobre el tema.
Desde la línea de comandos en Linux se puede ejecutar el comando xrandr
como se muestra a continuación:
ernesto@grievous:~$ xrandr | grep '*'
1366x768 60.00*+
La resolución es de 1366x768.
El script se muestra a continuación:
#!/usr/bin/env python
#Se importa el modulo subprocess
import subprocess
#Se define un par de variables con los comandos a pasar:
cmd = ['xrandr']
cmd2 = ['grep', '*']
#Se ejecuta el comando xrandr y luego se abre una tuberia.
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
#Se ejecuta el segundo comando
p2 = subprocess.Popen(cmd2, stdin=p.stdout, stdout=subprocess.PIPE)
#Se cierra la salida estandar.
p.stdout.close()
#Obteccion de la resolucion
resolution_string, junk = p2.communicate()
resolution = resolution_string.split()[0]
width, height = resolution.split('x')
print width,height
Al ejecutar el script se obtiene:
./screencatch.py
1366 768
Obtener resolución con gtk con el siguiente script:
#!/usr/bin/env python
#Se importa gtk
import gtk
#Se captura el ancho y alto
width = gtk.gdk.screen_width()
height = gtk.gdk.screen_height()
#Se muestra en la consola el resultado
print width,height
Al ejecutar el script se obtiene:
./screencatch2.py
1366 768
Obtener la resolución con PySide/PyQT
con el siguiente script:
#!/usr/bin/env python
#Importar QtGui de PySide
#para solo PyQt se cambia a
#from PyQt4 import QtGui
from PySide import QtGui
#Se crea la instancia de la aplicacion
app = QtGui.QApplication([])
#Se captura la resolucion y se muestra en la consola
screen_resolution = app.desktop().screenGeometry()
width, height = screen_resolution.width(), screen_resolution.height()
print width,height
El resultado de ejecutar el script es:
./screencatch3.py
1366 768
En el artículo mencionado se muestra como obtener la información con wxPython
y en un enlace en el artículo como obtener la información desde windows y desde MacOS.
¡Haz tu donativo! Si te gustó el artículo puedes realizar un donativo con Bitcoin (BTC) usando la billetera digital de tu preferencia a la siguiente dirección: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV
O Escaneando el código QR desde la billetera: