[Python-es] trabajo con gtk de python en pc cliente

aaaliaga en grm.uci.cu aaaliaga en grm.uci.cu
Sab Jun 2 23:19:12 CEST 2012


Ok, ya entiendo  muchas gracias.
Angel Claudio Alvarez <angel en angel-alvarez.com.ar> escribió:

> El vie, 01-06-2012 a las 20:55 -0700, aaaliaga en grm.uci.cu escribió:
>> Debe funcionar lo que me dices pero imagina que ya la aplicación se
>> despliega en un servidor, para que todos los clientes del mundo que se
>> conecten a la web puedan pinchar en el link que mediante gtk lanza la
>> ventana, la idea es que tu como cliente al pinchar en el link veas la
>> ventana que se genera con gtk y no que salga en la pc servidor.
>> Supongo que ahora si me debes entender con lo que pido.
>
> No
> Me parece que no entendes la arquitectura cliente servidor
> Y estas mezclando una aplicacion web con una  de escritorio
> Solo podrias hacerlo con java
> Si la aplicacion la tenes en django lo que podes hacer es que abra una
> nueva ventana (html) pero NO una aplicacion gtk en el cliente
>
> Si queres hacer que desde un link en una webapp se abra una ventana con
> una apliacion en el cliente tene que usar applets de java. Python no
> hace eso
>
>> Angel Claudio Alvarez <angel en angel-alvarez.com.ar> escribió:
>>
>> > El vie, 01-06-2012 a las 13:06 -0700, aaaliaga en grm.uci.cu escribió:
>> >> está en el servidor, pero ahora según su respuesta me pregunto cómo
>> >> lograr que se vea en el cliente
>> >
>> > con ssh
>> >
>> > ssh usuario en servidor -X 'python /ruta_tu_aplicacion'
>> >
>> > es algo rapido y sucio (mugriento para ser preciso)
>> > si no, escribi un cliente que use paramiko y se conecte al servidor y
>> > ejecute el codigo. Viene a ser lo mismo pero mas prolijo
>> >
>> >
>> >> lesthack <lesthack en gmail.com> escribió:
>> >>
>> >> > Espera, este pedazo de código esta en el servidor o en el cliente ?
>> >> >
>> >> > No puedes abrir una ventana gtk en un cliente si el código se
>> >> ejecuta en el
>> >> > servidor.
>> >> >
>> >> > On Fri, Jun 1, 2012 at 2:41 PM, <aaaliaga en grm.uci.cu> wrote:
>> >> >
>> >> >> Hola a todos sucede que estoy tirando mi código en gtk el cual
>> >> les pongo a
>> >> >> continuación:
>> >> >>
>> >> >> **********************************************************
>> >> >> class icarus_pantallazo:
>> >> >>    def main(self):
>> >> >>        root = gtk.gdk.get_default_root_**window();
>> >> >>        rootwidth, rootheight = root.get_size();
>> >> >>        current_dt=datetime.datetime.**now()
>> >> >>        dia_numero= "%02d" % current_dt.day
>> >> >>        meses_numero="%02d" % current_dt.month
>> >> >>        anio=str(current_dt.year)
>> >> >>        hora_24="%02d" % current_dt.hour
>> >> >>        minuto="%02d" % current_dt.minute
>> >> >>        segundo="%02d" % current_dt.second
>> >> >>        self.fecha=dia_numero+"-"+**meses_numero+"-"+anio+"_"+**
>> >> >> hora_24+":"+minuto+":"+segundo
>> >> >>        #
>> >> >>        self.pix = gtk.gdk.Pixbuf(gtk.gdk.**COLORSPACE_RGB, 1, 8,
>> >> >> rootwidth, rootheight);
>> >> >>        self.pix.get_from_drawable(**root,  
>> root.get_colormap(), 0, 0, 0,
>> >> >> 0, rootwidth, rootheight);
>> >> >>
>> >> >>    def destruir(self,widget, data="None"):
>> >> >>        gtk.main_quit()
>> >> >>    def guardar(self,modo):
>> >> >>        if modo==1:
>> >> >>            #crear ventana para tomar el recuadro
>> >> >>            self.window = gtk.Window(gtk.WINDOW_**TOPLEVEL)
>> >> >>            self.window.set_decorated(**True)
>> >> >>            self.window.connect("destroy", self.destruir)
>> >> >>            self.window.set_events(self.**window.get_events() |
>> >> >> gtk.gdk.BUTTON_PRESS_MASK)
>> >> >>            self.window.connect("button_**press_event",
>> >> >> self.press_aplication)
>> >> >>            self.window.show()
>> >> >>
>> >> >>            pixmap, mask =
>> >> >> gtk.gdk.pixmap_create_from_**xpm_d(self.window.window,
>> >> >> None, data)
>> >> >>            self.image = gtk.Image()
>> >> >>            self.image.set_from_pixmap(**pixmap, mask)
>> >> >>            self.image.show()
>> >> >>
>> >> >>            # To display the image, we use a fixed widget to
>> >> place the image
>> >> >>            self.fixed = gtk.Fixed()
>> >> >>            self.fixed.set_size_request(**50,50) #16,16
>> >> >>            self.fixed.put(self.image, 0, 0)
>> >> >>            self.window.add(self.fixed)
>> >> >>            self.fixed.show()
>> >> >>            self.window.shape_combine_**mask(mask, 0, 0)
>> >> >>            gtk.main()
>> >> >>            #
>> >> >>        if self.pix!=None:
>> >> >>            dir_foto=dir_completa+self.**fecha+".png"
>> >> >>            self.pix.save(dir_foto, "png")
>> >> >>            lista.append(dir_foto)
>> >> >>            return 0
>> >> >>        return 1
>> >> >>    def press_aplication(self, widget, event):
>> >> >>        #print event
>> >> >>        if event.x<=16 and event.y<=16 and event.button==1:
>> >> >>            dimension=self.window.get_**size()
>> >> >>            posicion=self.window.get_**position()
>> >> >>            pix_aux = self.pix.subpixbuf(posicion[0]**,posicion[1],
>> >> >> dimension[0], dimension[1])
>> >> >>            self.pix=pix_aux
>> >> >>            self.window.hide()
>> >> >>            gtk.main_quit()
>> >> >>            #self.pix=None
>> >> >>        return 0
>> >> >>
>> >> >>    def close_application(self, widget, event, data=None):
>> >> >>        gtk.main_quit()
>> >> >>        self.pix=None
>> >> >>        #del self.window
>> >> >>        return gtk.FALSE
>> >> >> ************************************************************
>> >> >> El objetivo que pretendo es crear una ventana para realizar  
>> una selección
>> >> >> en un determinado link de la aplicación
>> >> >> pero al encontrarmen en una pc cliente en la que navego por  
>> la aplicación
>> >> >> que se encunetra corriendo en un servidor de prueba con django,
>> >> ocurre que
>> >> >> la ventana sale en la pc servidor y no en la pc cliente cuando
>> >> en realidad
>> >> >> se ha dado click en la pc cliente. Si alguién pudiera orientarme cómo
>> >> >> resolver el problema para que salga en la pc que se a  
>> ejecutado la acción
>> >> >> me sería de mucha ayuda, de esto depende una tesis.
>> >> >>
>> >> >>
>> >> >> ______________________________**_________________
>> >> >> Python-es mailing list
>> >> >> Python-es en python.org
>> >> >>
>> >>  
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> >> >> FAQ:
>> >> http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > ________________________________________________________
>> >> >
>> >> > ISC. Jorge Luis Hernández C.
>> >> > Desarrollador de Software y Tecnologías Libres
>> >> >
>> >> > Colaborador GNU/Linux Debian México
>> >> > http://lesthack.com.mx
>> >> > http://blog.debian.mx/
>> >> > @lesthack
>> >> > ________________________________________________________
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> Python-es mailing list
>> >> Python-es en python.org
>> >> http://mail.python.org/mailman/listinfo/python-es
>> >> FAQ: http://python-es-faq.wikidot.com/
>> >
>> >
>> > _______________________________________________
>> > Python-es mailing list
>> > Python-es en python.org
>> > http://mail.python.org/mailman/listinfo/python-es
>> > FAQ: http://python-es-faq.wikidot.com/
>>
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/





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