Returning value from home made unit - how to?

Mel mwilson at the-wire.com
Sun May 30 18:22:04 EDT 2010


Martin Hvidberg wrote:
> I have a Python program, which has until now, been running in command line
> mode only. I wish to add a GUI.
> 
> I would like to develop (and maintain) the GUI part in a separate module,
> i.e. in its own .py file, and then ‘import’ that into the old main
> program.
> 
> I jumped into wxPython, as it seems to be the right GUI for me, and
> downloaded some examples that I took apart and joined. Now the basic GUI
> is running, though neither beautiful nor complete.
> 
> The main task for my GUI is to allow the user to point to an input file.
> It can now obtain a filename from a file selection dialog, but I can’t
> figure out how to get the filename, i.e. the string variable containing
> the file name, send back to the main program

> 
> I attach the two .py files hereunder.
> 
> My question is:
> How do I get the information from variable strSequenceFile, back to the
> main module in file jacxl.py ?

AFAIK, typically, you don't -- the way it is here.  Returning a value from a 
Button handler, or any event handler generally, won't have any effect.  The 
event handlers are called from deep in wx code by routines that don't deal 
with anything specific to the data-processing side of the program.

What I think you might do is to make strSequenceFile an attribute of your 
Frame, so that OnFindFile button does ``self.strSequenceFile = 
dialog.GetPath()'' rather than returning that value.

Then your main level can do ``jacXlgui.app.GetTopWindow().strSequenceFile'' 
.

There are probably refinements to be added to this, but I think it's a good 
beginning strategy.  The first new place I would take the whole program 
would be to remove the command-line controls from the command line program, 
so you're left with a sort of "business model" that contains only the data 
processing.  Then you can write a new GUI program based on jacXlgui that 
imports the  data processing module and calls computations and reports 
results from the model.


	Mel.





More information about the Python-list mailing list