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

Victor Villalobos revxfire en gmail.com
Mie Dic 4 04:34:06 CET 2013


No entiendo en que se complicaría(Ademas de que Gtk se actualiza a cada
rato y no hay retrocompatibilidad de librerias), yo personalmente usaría
Qt4 o Qt5, provee excelente compatibilidad en ambos SO.

Saludos


El 3 de diciembre de 2013 10:55, Francisco Soto <
francisco.soto.del en gmail.com> escribió:

> Estimado:
>
>     En lo personal estoy usando python con Qt, funciona super para windows
> (xp, 7, 8) y linux (ubuntu 8.04 y 12.04).
>
>
> * Ojo, algunas librerías en 12.04 no están en 8.04, por loq eu tienes que
> ver bien que vas a utilizar si es en distintas versiones de ubuntu.
>
> ** Si piensas usar hilos procesos, linux por seguridad es un poco molesto,
> por lo que recomiendo hacer la app en linux y después probar en windows
> (que no debería arrojar ningún problema).
>
> Saludos!
>
> Francisco
> Ingeniero de Desarrollo
>
>
> El 3 de diciembre de 2013 12:13, manuelcortez <manuelcortez00 en gmail.com>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!
>>
>> --
>> 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
>>
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> 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
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Victor Villalobos
Bahia Pirata
Inversiones Villalobos Balzan.
0412 6882141
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20131203/d9b548b1/attachment.html>


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