[Python-es] Dudas al usar GTK en Linux y WxPython en Windows para una aplicación

manuelcortez manuelcortez00 en gmail.com
Mar Dic 3 18:07:39 CET 2013


Creo que envié una respuesta a una cuenta de correo en vez de la lista,
pero aquí está:

Hola. Sí, ya he hecho pruebas, y cuento con las opiniones de otros
usuarios y desarrolladores ciegos, y pese a que WxPython usa GTK para
Linux, varios de sus controles y el manejo del foco del sistema no los
hace como deberían, y las aplicaciones que requieren de tecnologías de
asistencia (AT-SPI) no lo interpretan correctamente. en palabras
sencillas se podría decir que wxPython es accesible en Windows en un 99%
y en Linux en algo más de un 65%, mientras que GTK "nativo" en Windows
es 0% accesible y en Linux es lo más accesible que te vas a encontrar.
Por eso va inicialmente mi consulta. NO tengo problema por hacer las dos
interfaces, la cosa es como implementarlas en una aplicación. Saludos.

El 03/12/2013 10:56 a.m., monoBOT escribió:
> Yo he hecho aplicaciones con WxPython y funcionaban igual para windows
> y linux. (el aspecto es diferente pero las pantallas tienen lo mismo)
>
>
>
> El 3 de diciembre de 2013 16:42, Mario Lacunza <mlacunza en gmail.com
> <mailto:mlacunza en gmail.com>> escribió:
>
>     Hola,
>
>     la verdad q no entiendo el enrollo q estas planeando.. si te ves
>     la definicion de wxPython este wrapper para python de wxWidgets lo
>     q hace (a diferencia de QT) es usar los controles nativos del OS,
>     es decir en win usara los de win y en Linux GTK, es decir no
>     necesitas nada salvo empezar a programar.. o de casualidad ya has
>     hecho pruebas y no funciona como esperas/deberia ser??
>
>     Saludos / Best regards
>
>     Mario Lacunza
>     Email:: mlacunza en gmail.com <mailto:mlacunza en gmail.com>
>     Personal Website:: http://www.lacunza.biz/
>     Hosting:: http://mlv-host.com/
>     Mascotas Perdidas:: http://mascotas-perdidas.com/
>     Google Talk / Y! messenger / Skype: mlacunzav
>
>     El 03/12/13 10:13, manuelcortez escribió:
>>     Hola,
>>
>>     Para una aplicación que planeo correr en dos tipos de SO (Win32 y
>>     GNU/Linux) necesito utilizar diferentes librerías para interfaces
>>     gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3
>>     y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo
>>     código fuente, es decir, si en el mismo programa podría hacer que se
>>     tomara una u otra librería sin afectar al rendimiento del mismo.
>>
>>     En un principio pensé en hacer algo así:
>>
>>     Crear un módulo llamado GUI, que dentro contenga una carpeta por cada
>>     SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada
>>     uno de esos directorios, e importar todo lo que necesito que puedan
>>     importar otras partes de la aplicación. Luego, fuera de esos
>>     directorios, en el directorio GUI, hacer el __init__.py, con algo como esto:
>>
>>     # -*- coding: utf-8 -*-
>>     import sys
>>
>>     if sys.platform == "win32":
>>     from win32 import *
>>     elif sys.platform == "linux2":
>>     from linux import *
>>
>>     Y así ir haciendo con cada SO que necesite.
>>
>>     Las preguntas:
>>
>>     1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías
>>     gráficas diferentes, todo lo demás funcionará bien en ambas plataformas.
>>     2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de
>>     Wx para Windows o el GTK si se usa en Linux. Uso if's como en los
>>     módulos para determinar la plataforma. Si el import de wx o GTK está
>>     dentro del bloque de código del IF, supongo que no se importará si la
>>     condición no es cierta. ¿Es mejor separar el código y hacer un archivo
>>     para inicializar la app en Windows y otro para Linux?
>>     3. En el setup.py, por ahora no he encontrado forma de hacer que como
>>     dependencia se tenga GTK o WX si se tiene según qué plataforma, debería
>>     volver a probar con IF? o hay instrucciones en setuptools para usar
>>     según qué herramientas para diferentes OS.
>>
>>     Muchas gracias por la respuesta, saludos!
>>
>>
>>
>>     _______________________________________________
>>     Python-es mailing list
>>     Python-es en python.org <mailto:Python-es en python.org>
>>     https://mail.python.org/mailman/listinfo/python-es
>>     FAQ: http://python-es-faq.wikidot.com/
>
>
>     _______________________________________________
>     Python-es mailing list
>     Python-es en python.org <mailto:Python-es en python.org>
>     https://mail.python.org/mailman/listinfo/python-es
>     FAQ: http://python-es-faq.wikidot.com/
>
>
>
>
> -- 
> *monoBOT*
> Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es
> <http://monobotblog.alvarezalonso.es>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/


-- 
Cordialmente:

Manuel Cortéz

Blog: http://manuel.a12x.net

V Semestre
Universidad  de Monterrey (Prepa UDEM) 

Cita:
“Free software, free society”
Manuel Cortéz

“La libertad no es poder elegir entre unas pocas opciones impuestas, sino tener el control de tu propia vida. La libertad no es elegir quien será tu amo, es no tener amo.”
Richard Stallman


------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-es/attachments/20131203/2ac391f6/attachment.sig>


Más información sobre la lista de distribución Python-es