
July 30th, 2007, 07:35 AM
| | | How to write GUI and event separately in wxPython??
HI all
I am making an application with wxpython.
But I got a problem when I want to change the display string
according to process status.
I passed the frame to the processing function and use the
frame.txtobj to change displaying strings.
I found it is a bad method to do that.
Can any one tell me how to do that usually?
( How to separate GUI and Control code? )
Thank you. | 
July 30th, 2007, 09:15 AM
| | | Re: How to write GUI and event separately in wxPython??
On Sun, 29 Jul 2007 23:34:14 -0700, Jia Lu wrote: Quote:
I am making an application with wxpython.
But I got a problem when I want to change the display string
according to process status.
>
I passed the frame to the processing function and use the
frame.txtobj to change displaying strings.
>
I found it is a bad method to do that.
Can any one tell me how to do that usually?
( How to separate GUI and Control code? )
| One possibility here is to give a callback function into the worker
function that gets called while the function does it's work. Simple
example:
def do_work(arguments, callback=lambda msg: None):
callback('Start processing.')
for percent in xrange(0, 101):
callback('finished %d%%...' % percent)
callback('Done.')
Ciao,
Marc 'BlackJack' Rintsch | 
July 30th, 2007, 11:35 AM
| | | Re: How to write GUI and event separately in wxPython??
Marc 'BlackJack' Rintsch wrote: Quote:
On Sun, 29 Jul 2007 23:34:14 -0700, Jia Lu wrote:
> Quote:
> I am making an application with wxpython.
> But I got a problem when I want to change the display string
>according to process status.
>>
> I passed the frame to the processing function and use the
>frame.txtobj to change displaying strings.
>>
> I found it is a bad method to do that.
> Can any one tell me how to do that usually?
>( How to separate GUI and Control code? )
| >
One possibility here is to give a callback function into the worker
function that gets called while the function does it's work. Simple
example:
>
def do_work(arguments, callback=lambda msg: None):
callback('Start processing.')
for percent in xrange(0, 101):
callback('finished %d%%...' % percent)
callback('Done.')
> Quote: Quote: |
>>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
| | | True regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading ------------- | 
July 30th, 2007, 12:05 PM
| | | Re: How to write GUI and event separately in wxPython??
On Mon, 30 Jul 2007 06:32:55 -0400, Steve Holden wrote: Quote: Quote: Quote: |
>>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
| | True
| First I thought: Why the unnecessary list comprehension but to my surprise:
In [33]: xrange(42) == xrange(42)
Out[33]: False
That's strange.
Ciao,
Marc 'BlackJack' Rintsch | 
July 30th, 2007, 02:55 PM
| | | Re: How to write GUI and event separately in wxPython??
On Jul 30, 1:34 am, Jia Lu <Roka...@gmail.comwrote: Quote:
HI all
>
I am making an application with wxpython.
But I got a problem when I want to change the display string
according to process status.
>
I passed the frame to the processing function and use the
frame.txtobj to change displaying strings.
>
I found it is a bad method to do that.
Can any one tell me how to do that usually?
( How to separate GUI and Control code? )
>
Thank you.
| If you're doing a long running task that needs to send data
periodically to the GUI front-end for status, there's some good ways
listed here: http://wiki.wxpython.org/LongRunningTasks
The wiki seems down right now (8:40 CST 07/30/2007), but hopefully
it'll be up soon.
Mike | 
July 30th, 2007, 04:25 PM
| | | Re: How to write GUI and event separately in wxPython??
Marc 'BlackJack' Rintsch wrote: Quote:
On Mon, 30 Jul 2007 06:32:55 -0400, Steve Holden wrote:
> Quote: Quote: |
> >>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
| >True
| >
First I thought: Why the unnecessary list comprehension but to my surprise:
>
In [33]: xrange(42) == xrange(42)
Out[33]: False
>
That's strange.
>
| Not so strange really. The two xrange objects are different (though I
confess I haven't looked to see how they implement comparisons), but
iterating over them produces the same result.
regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading ------------- | 
July 30th, 2007, 04:45 PM
| | | Re: How to write GUI and event separately in wxPython??
On 7/30/07, Steve Holden <steve@holdenweb.comwrote: Quote:
Marc 'BlackJack' Rintsch wrote: Quote:
On Mon, 30 Jul 2007 06:32:55 -0400, Steve Holden wrote: Quote:
>>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
True
| First I thought: Why the unnecessary list comprehension but to my surprise:
In [33]: xrange(42) == xrange(42)
Out[33]: False
That's strange.
| Not so strange really. The two xrange objects are different (though I
confess I haven't looked to see how they implement comparisons), but
iterating over them produces the same result.
|
nitpick: list(xrange(42)) == list(xrange(42)) is slightly more concise
than the list comp.. | 
July 30th, 2007, 05:05 PM
| | | Re: How to write GUI and event separately in wxPython??
Chris Mellon wrote: Quote:
On 7/30/07, Steve Holden <steve@holdenweb.comwrote: Quote:
>Marc 'BlackJack' Rintsch wrote: Quote:
>>On Mon, 30 Jul 2007 06:32:55 -0400, Steve Holden wrote:
>>>
>>> >>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
>>>True
>>First I thought: Why the unnecessary list comprehension but to my surprise:
>>>
>>In [33]: xrange(42) == xrange(42)
>>Out[33]: False
>>>
>>That's strange.
>>>
| >Not so strange really. The two xrange objects are different (though I
>confess I haven't looked to see how they implement comparisons), but
>iterating over them produces the same result.
| >
>
nitpick: list(xrange(42)) == list(xrange(42)) is slightly more concise
than the list comp..
| Indeed. I wonder if anyone will pick a nit with the nit you picked on my
nitpick ...
nitty-gritti-ly y'rs - steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading ------------- | 
July 30th, 2007, 08:05 PM
| | | Re: How to write GUI and event separately in wxPython??
On Mon, 30 Jul 2007 11:16:01 -0400, Steve Holden wrote: Quote:
Marc 'BlackJack' Rintsch wrote: Quote:
>First I thought: Why the unnecessary list comprehension but to my surprise:
>>
>In [33]: xrange(42) == xrange(42)
>Out[33]: False
>>
>That's strange.
>>
| Not so strange really. The two xrange objects are different (though I
confess I haven't looked to see how they implement comparisons), but
iterating over them produces the same result.
| They are different objects, so are range(23) and another range(23) but
those compare equal. Somehow I expected two seemingly equal `xrange`
objects compare equal too.
Ciao,
Marc 'BlackJack' Rintsch | 
July 30th, 2007, 09:25 PM
| | | Re: How to write GUI and event separately in wxPython??
On Jul 30, 11:42 am, "Chris Mellon" <arka...@gmail.comwrote: Quote: Quote: Quote: |
On Mon, 30 Jul 2007 06:32:55 -0400, Steve Holden wrote:
| | > Quote: Quote:
> >>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
>True
| | | Quote:
nitpick: list(xrange(42)) == list(xrange(42)) is slightly more concise
than the list comp..
| Not that it has anything to do with this topic anymore, but I find the
list comp a bit clearer for expressing the thought 'each element in
one is the same as the coresponding element in the other, or: the
sequences are identical' -- the list() version would proabably have
had me going 'huh?' even longer ^_^.
--
[star for star in weaver] | 
July 30th, 2007, 09:45 PM
| | | Re: How to write GUI and event separately in wxPython?? star.public@gmail.com wrote: Quote:
On Jul 30, 11:42 am, "Chris Mellon" <arka...@gmail.comwrote:
> Quote: Quote:
>>>On Mon, 30 Jul 2007 06:32:55 -0400, Steve Holden wrote:
>>>> >>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
>>>>True
| | > Quote:
>nitpick: list(xrange(42)) == list(xrange(42)) is slightly more concise
>than the list comp..
| >
Not that it has anything to do with this topic anymore, but I find the
list comp a bit clearer for expressing the thought 'each element in
one is the same as the coresponding element in the other, or: the
sequences are identical' -- the list() version would proabably have
had me going 'huh?' even longer ^_^.
--
[star for star in weaver]
| Here's another one, a little more obscure still, but only valid in 2.5
because of all(): Quote: Quote: Quote: |
>>all(x==y for (x, y) in zip(xrange(0, 101), xrange(101)))
| | | True regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading ------------- | 
July 30th, 2007, 09:45 PM
| | | Re: How to write GUI and event separately in wxPython?? star.public@gmail.com wrote: Quote:
On Jul 30, 11:42 am, "Chris Mellon" <arka...@gmail.comwrote:
> Quote: Quote:
>>>On Mon, 30 Jul 2007 06:32:55 -0400, Steve Holden wrote:
>>>> >>[x for x in xrange(0, 101)] == [y for y in xrange(101)]
>>>>True
| | > Quote:
>nitpick: list(xrange(42)) == list(xrange(42)) is slightly more concise
>than the list comp..
| >
Not that it has anything to do with this topic anymore, but I find the
list comp a bit clearer for expressing the thought 'each element in
one is the same as the coresponding element in the other, or: the
sequences are identical' -- the list() version would proabably have
had me going 'huh?' even longer ^_^.
--
[star for star in weaver]
| Here's another one, a little more obscure still, but only valid in 2.5
because of all(): Quote: Quote: Quote: |
>>all(x==y for (x, y) in zip(xrange(0, 101), xrange(101)))
| | | True regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading ------------- |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | | | What is Bytes?
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over network members.
|