Where do I have put gobject.idle_add?

See the program: http://paste.debian.net/157481/

*Joseph Soares Alcântara*
Engenharia da Computação - 8º semestre
Universidade Federal do Ceará - UFC
Sobral - Ceará

+--------------------------------------------------------------------------+
.| - °v°...A liberdade não pode ser comprada e sim     |
.| -/(_)\..conquistada. Conquiste a sua também use   |
.| - ^^                  G N U / L I N U X                          |
+--------------------------------------------------------------------------+



2012/2/22 Timo <timomli...@gmail.com>

> Op 22-02-12 12:19, Joseph S. Alcântara schreef:
>
>> Hi, now I get access to FAQ PyGTK talking about threads. It seems a
>> little complicated, and I didn't get it to work yet.
>> Like there teaches, I put at the begin, before anything be called,
>> gtk.threads_init() (that my python says it's deprecated and suggest me to
>> use gtk.gdk.threads_init, as well as threads_enter/leave)
>>
>> So, I put gtk.main() between thrads_enter/leave and every part of code I
>> want to be a thread, I put into this code (enter/leave) but it continue
>> working the same. ie, it's now working.
>>
>> I'm did something like this, into a class:
>>
>> gtk.gdk.threads_enter
>> self.th <http://self.th> = Thread(target=self.camera.**runvideo)
>>
>> self.th.start()
>> gtk.gdk.threads_leave
>>
>> It's a class that calls a gtk.Window. After, in self.camera.runvideo, it
>> calls famous routine to show images from webcam
>>
>>  I think it's also in the FAQ, but you shouldn't do any GUI stuff in a
> thread, and if you do so, call it with gobject.idle_add().
>
> Cheers,
> Timo
>
>  *Joseph Soares Alcântara*
>>
>> Engenharia da Computação - 8º semestre
>> Universidade Federal do Ceará - UFC
>> Sobral - Ceará
>>
>> +-----------------------------**------------------------------**
>> ---------------+
>> .| - °v°...A liberdade não pode ser comprada e sim     |
>> .| -/(_)\..conquistada. Conquiste a sua também use   |
>> .| - ^^                  G N U / L I N U X                          |
>> +-----------------------------**------------------------------**
>> ---------------+
>>
>>
>>
>> 2012/2/21 Joseph S. Alcântara <josephser...@gmail.com <mailto:
>> josephser...@gmail.com**>>
>>
>>
>>    How do I show a IplImage in a gtk.Image?
>>
>>    *Joseph Soares Alcântara*
>>
>>    Engenharia da Computação - 8º semestre
>>    Universidade Federal do Ceará - UFC
>>    Sobral - Ceará
>>
>>    +-----------------------------**------------------------------**
>> ---------------+
>>    .| - °v°...A liberdade não pode ser comprada e sim     |
>>    .| -/(_)\..conquistada. Conquiste a sua também use   |
>>    .| - ^^                  G N U / L I N U X                          |
>>    +-----------------------------**------------------------------**
>> ---------------+
>>
>>
>>
>>    2012/2/21 Joseph S. Alcântara <josephser...@gmail.com
>>    <mailto:josephser...@gmail.com**>>
>>
>>
>>        I cannot access FAQ, I think it's not working now.
>>        Don't you have any example how could I solve that?
>>        Yes, I'd like to show image from cv.QueryFrame in a gtk.Image,
>>        But I am new in this, I'm learning a little slow.
>>        It's a project to the university. We have an Open Source Study
>>        Group, and I have to create a program using python + opencv + gtk.
>>
>>        Thank you
>>
>>        *Joseph Soares Alcântara*
>>
>>        Engenharia da Computação - 8º semestre
>>        Universidade Federal do Ceará - UFC
>>        Sobral - Ceará
>>
>>        +-----------------------------**------------------------------**
>> ---------------+
>>        .| - °v°...A liberdade não pode ser comprada e sim     |
>>        .| -/(_)\..conquistada. Conquiste a sua também use   |
>>        .| - ^^                  G N U / L I N U X
>>         |
>>        +-----------------------------**------------------------------**
>> ---------------+
>>
>>
>>
>>        2012/2/21 John Stowers <john.stowers.li...@gmail.com
>>        <mailto:john.stowers.lists@**gmail.com<john.stowers.li...@gmail.com>
>> >>
>>
>>
>>            IIRC opecv starts a mainloop when create window is called.
>>
>>            In general, don't use threads unless you have read the FAQ and
>>            understand what you are doing.
>>
>>            John
>>
>>            2012/2/21 Joseph S. Alcântara <josephser...@gmail.com
>>            <mailto:josephser...@gmail.com**>>:
>>
>>            > Even if I don't use, ie, if I comment the lines where
>>            NamedWindow, ShowImage
>>            > and WaitKey appear it freezes too.
>>            >
>>            > Joseph Soares Alcântara
>>            > Engenharia da Computação - 8º semestre
>>            > Universidade Federal do Ceará - UFC
>>            > Sobral - Ceará
>>            >
>>            >
>>            +-----------------------------**------------------------------
>> **---------------+
>>            > .| - °v°...A liberdade não pode ser comprada e sim     |
>>            > .| -/(_)\..conquistada. Conquiste a sua também use   |
>>            > .| - ^^                  G N U / L I N U X
>>                   |
>>            >
>>            +-----------------------------**------------------------------
>> **---------------+
>>            >
>>            >
>>            >
>>            > 2012/2/21 John Stowers <john.stowers.li...@gmail.com
>>            
>> <mailto:john.stowers.lists@**gmail.com<john.stowers.li...@gmail.com>
>> >>
>>
>>            >>
>>            >> GTK is not threadsafe.
>>            >>
>>            >> If opencv shows a gtk mainwindow in cv.ShowImage, and
>>            that occurs in a
>>            >> different thread to the one running gtk_main, then
>>            unpredictable
>>            >> crashes and odd behaviour will result.
>>            >>
>>            >> Please check the pygtk FAQ for how to use threading and
>>            pygtk.
>>            >>
>>            >> I suggest displaying the image yourself in by getting
>>            the data from
>>            >> the IPL image and copying it into a GtkImage. Or be
>>            much more careful
>>            >> with which operations you do in which thread (i.e.
>>            cv.ShowImage,
>>            >> cv.WaitKey)
>>            >>
>>            >> John
>>            >>
>>            >> 2012/2/21 Joseph S. Alcântara <josephser...@gmail.com
>>            <mailto:josephser...@gmail.com**>>:
>>
>>            >> > Hi, Thank you for response to me.
>>            >> >
>>            >> > See, can I sand you my program to you see what I am
>>            making? I've used
>>            >> > Thread, but seems like is not working like I want.
>>            >> >
>>            >> > You must run from main.py
>>            >> >
>>            >> > Joseph Soares Alcântara
>>            >> > Engenharia da Computação - 8º semestre
>>            >> > Universidade Federal do Ceará - UFC
>>            >> > Sobral - Ceará
>>            >> >
>>            >> >
>>            >> >
>>            +-----------------------------**------------------------------
>> **---------------+
>>            >> > .| - °v°...A liberdade não pode ser comprada e sim     |
>>            >> > .| -/(_)\..conquistada. Conquiste a sua também use   |
>>            >> > .| - ^^                  G N U / L I N U X
>>                       |
>>            >> >
>>            >> >
>>            +-----------------------------**------------------------------
>> **---------------+
>>            >> >
>>            >> >
>>            >> >
>>            >> > 2012/2/19 Hart's Antler <bhart...@yahoo.com
>>            <mailto:bhart...@yahoo.com>>
>>
>>            >> >>
>>            >> >> Hi Joseph,
>>            >> >> I got GTK and OpenCV working together using threads.
>>             This example
>>            >> >> works
>>            >> >> with CPython2, CPython3 and PyPy, see my blog post.
>>            >> >> 
>> http://pyppet.blogspot.com/**2011/12/rpythonic-044.html<http://pyppet.blogspot.com/2011/12/rpythonic-044.html>
>>            >> >>
>>            >> >> -brett-
>>            >> >>
>>            >> >> ______________________________**__
>>            >> >> From: Joseph S. Alcântara <josephser...@gmail.com
>>            <mailto:josephser...@gmail.com**>>
>>            >> >> To: pygtk@daa.com.au <mailto:pygtk@daa.com.au>
>>
>>            >> >> Sent: Sunday, February 19, 2012 9:46 AM
>>            >> >> Subject: [pygtk] PyGTK + OpenCV
>>            >> >>
>>            >> >> hi, I'm writing a application that uses pygtk and
>>            opencv. and I had a
>>            >> >> problem. When I run the program it shows a gui. So
>>            far so good. But,
>>            >> >> when  I
>>            >> >> click in a menuitem, it should call a functino that
>>            runs the famous
>>            >> >> routine
>>            >> >> to show a video from webcam. But in this moment, the
>>            app freezes. I
>>            >> >> have
>>            >> >> tried to use thread, but opencv gui runs just after
>>            I call
>>            >> >> gtk.main_quit().
>>            >> >> What could solve my problem? Thanks.
>>            >> >>
>>            >> >> Estou escrevendo um programa em python, usando pygtk
>>            e opencv. Quando
>>            >> >> rodo
>>            >> >> o programa, aparece uma janela e até aí, beleza. Mas
>>            quando eu clico em
>>            >> >> um
>>            >> >> menuitem, ele deve chamar uma função que roda a
>>            famosa rotina que exibe
>>            >> >> um
>>            >> >> vídeo a partir da webcam. No entanto, neste momento,
>>            o programa trava.
>>            >> >> Então, eu tentei usar Thread, mas a parte do opencv
>>            só roda depois que
>>            >> >> eu
>>            >> >> fecho a janela, chamando gtk.main_quit(). O que
>>            poderia ser? Obrigado
>>            >> >> desde
>>            >> >> já.
>>            >> >>
>>            >> >> Joseph Soares Alcântara
>>            >> >> Engenharia da Computação - 8º semestre
>>            >> >> Universidade Federal do Ceará - UFC
>>            >> >> Sobral - Ceará
>>            >> >>
>>            >> >>
>>            >> >>
>>            >> >>
>>            +-----------------------------**------------------------------
>> **---------------+
>>            >> >> .| - °v°...A liberdade não pode ser comprada e sim     |
>>            >> >> .| -/(_)\..conquistada. Conquiste a sua também use   |
>>            >> >> .| - ^^                  G N U / L I N U X
>>                       |
>>            >> >>
>>            >> >>
>>            >> >>
>>            +-----------------------------**------------------------------
>> **---------------+
>>            >> >>
>>            >> >>
>>            >> >> ______________________________**_________________
>>            >> >> pygtk mailing list pygtk@daa.com.au
>>            <mailto:pygtk@daa.com.au>
>>
>>            >> >> 
>> http://www.daa.com.au/mailman/**listinfo/pygtk<http://www.daa.com.au/mailman/listinfo/pygtk>
>>            >> >> Read the PyGTK FAQ: http://faq.pygtk.org/
>>            >> >>
>>            >> >
>>            >> >
>>            >> > ______________________________**_________________
>>            >> > pygtk mailing list pygtk@daa.com.au
>>            <mailto:pygtk@daa.com.au>
>>
>>            >> > 
>> http://www.daa.com.au/mailman/**listinfo/pygtk<http://www.daa.com.au/mailman/listinfo/pygtk>
>>            >> > Read the PyGTK FAQ: http://faq.pygtk.org/
>>            >
>>            >
>>
>>
>>
>>
>>
>>
>> ______________________________**_________________
>> pygtk mailing list   pygtk@daa.com.au
>> http://www.daa.com.au/mailman/**listinfo/pygtk<http://www.daa.com.au/mailman/listinfo/pygtk>
>> Read the PyGTK FAQ: http://faq.pygtk.org/
>>
>
> ______________________________**_________________
> pygtk mailing list   pygtk@daa.com.au
> http://www.daa.com.au/mailman/**listinfo/pygtk<http://www.daa.com.au/mailman/listinfo/pygtk>
> Read the PyGTK FAQ: http://faq.pygtk.org/
>
_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to