immagini a ripetizione in gtk.window?
« il: Aprile 01, 2011, 15:01 »
Ciao!..

Avrei bisogno di mostrare in una window delle immagini rigorosamente jpg a ripetizione...
Ad esempio avendo una lista di immagini caricate le voglio visualizzare a ripetizione dopo tot tempo...

Purtroppo in giro non sono riuscito a trovare nulla e di codice scritto ho solo questo :

[codice]
import gtk
import sys
import time
from threading import Thread

class PyApp:


    def __init__(self):

        self.win = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.win.set_title("Win test")
        self.win.set_default_size(320, 240)
        self.win.connect('delete_event', self.delete_event)
        self.win.connect('destroy', self.destroy)
        self.area = gtk.DrawingArea()
        self.win.set_app_paintable(True)
        self.win.realize()
        self.win.show_all()
        t = Thread(target=self.ciclo, args=()).start()


    def ciclo(self):

        self.img1= gtk.gdk.pixbuf_new_from_file("/home/utente/immagine1.jpg")
        self.img2 = gtk.gdk.pixbuf_new_from_file("/home/utente/immagine2.jpg")

        lista = [self.img1, self.img2]

        while 1:

            for pixbuf in lista:

                pixmap, mask = pixbuf.render_pixmap_and_mask()
                self.win.set_back_pixmap(pixmap, False)
                time.sleep(2)
       

    def delete_event(self, widget, event, data=None):

        return False


    def destroy(self, widget, data=None):

        gtk.main_quit()


    def main(self):

        gtk.main()

       

PyApp()
gtk.main()
[/codice]
ovviamente il codice è solo per capire il meccanismo di redraw, non ha nulla a che vedere con il mio obbiettivo finale

Idee?

Vi ringrazio in anticipo! a presto, ciaooo!
« Ultima modifica: Aprile 01, 2011, 15:20 da dennyb87 »