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. 11 1421
On Sun, 29 Jul 2007 23:34:14 -0700, Jia Lu wrote:
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
Marc 'BlackJack' Rintsch wrote:
On Sun, 29 Jul 2007 23:34:14 -0700, Jia Lu wrote:
> 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.')
>>[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 -------------
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.
Ciao,
Marc 'BlackJack' Rintsch
On Jul 30, 1:34 am, Jia Lu <Roka...@gmail.comwrote:
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
Marc 'BlackJack' Rintsch wrote:
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.
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 -------------
On 7/30/07, Steve Holden <st***@holdenweb.comwrote:
Marc 'BlackJack' Rintsch wrote:
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..
Chris Mellon wrote:
On 7/30/07, Steve Holden <st***@holdenweb.comwrote:
>Marc 'BlackJack' Rintsch wrote:
>>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 -------------
On Mon, 30 Jul 2007 11:16:01 -0400, Steve Holden wrote:
Marc 'BlackJack' Rintsch wrote:
>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
On Jul 30, 11:42 am, "Chris Mellon" <arka...@gmail.comwrote:
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
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] st*********@gmail.com wrote:
On Jul 30, 11:42 am, "Chris Mellon" <arka...@gmail.comwrote:
>>>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
>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():
>>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 ------------- st*********@gmail.com wrote:
On Jul 30, 11:42 am, "Chris Mellon" <arka...@gmail.comwrote:
>>>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
>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():
>>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 ------------- This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: wang xiaoyu |
last post by:
Hello:
i want use activex in wxpython program,but when i use MakeActiveXClass
an exception occurs.
this is my source code dealing the DICOM ocx.I must note that in this
program "hwtxcontrol" is...
|
by: Robert |
last post by:
Hello list,
could somebody point me to a good reference about wxPython event handling?
I have seen many examples but which one is the best. Waht are the advantages
and disadvantages?
Can you...
|
by: Daniel Bickett |
last post by:
Hello,
I am writing an application using two event-driven libraries:
wxPython, and twisted. The first problem I encountered in the program
is the confliction between the two all-consuming...
|
by: Glurt Wuntal |
last post by:
I am a newbie with Python. It's a great language, but I would like to be
able to present a simple gui menu for some of my scripts; something better
than using 'raw_input' prompts.
Any...
|
by: Kevin Walzer |
last post by:
I'm porting a Tkinter application to wxPython and had a question about
wxPython's event loop.
The Tkinter app provides a GUI to a command-line tool. It gathers user
input, and opens an...
|
by: defireman |
last post by:
Hi,
Sorry for asking a newbie question, but I am currently using wxPython 2.6, and I don't know how to get the properties of an event object in wxPython when handling events. Is there some sort of...
|
by: Matt Bitten |
last post by:
I've got a wxPython program that needs to do some drawing on a DC on a
regular basis, whether or not a paint event happens. I know how to
make a ClientDC to do the drawing in, and I know what...
|
by: Erik Lind |
last post by:
I'd appreciate any pointer on a simple way to tell within an event handler
where the event came from.
I want to have "while" condition in a handler to stop or change processing
if an event occurs...
|
by: lee.walczak |
last post by:
Hi,
I have just started writing a GUI using wxpython after finding a
limitation using Tkinter. I have read most tutorials on wxpython and
slowly becoming accustomed considering I started with...
|
by: DolphinDB |
last post by:
Tired of spending countless mintues downsampling your data? Look no further!
In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
|
by: ryjfgjl |
last post by:
ExcelToDatabase: batch import excel into database automatically...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: Vimpel783 |
last post by:
Hello!
Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
|
by: jfyes |
last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
|
by: Shællîpôpï 09 |
last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
| |