[Tutor] Problems with Gauge Bar.

Alan Gauld alan.gauld at btinternet.com
Thu Aug 21 20:32:48 CEST 2008


"Olrik Lenstra" <o.lenstra at gmail.com> wrote

> I tried something (Posted below) but it doesn't work.

Closer but....

> class MyFrame(wx.Frame):
>    def __init__(self, parent, id, title):
...
>        panel = wx.Panel(self, -1)
> 
>        wx.Gauge(panel, -1, 50, (50, 30), (200, 20))

You need to store a referemce to the guage otherwise you 
cannot access it later

         self.myGauge = wx.Gauge(panel....)

>    def onScan(self, event):
>        self.myfile = open('foo.txt')
>        self.count = 0
>        self.setTimer(0.01, self.processLine)
> 
>    def processLine(self):
>        line = self.myfile.readline()
>        if line:
>            processLine(line)

This function needs to be defined somewhere obviously!
It is a global function not a method of your class.

>            self.count += 1
>            self.myGauge.setValue(count)

And now you access the attribute you created in __init__ above...

>            self.setTimer(0.01, self.processLine)
>        else:
>            self.myGuage.setValue(0)

Apart from not storing a reference to the gauge it was 
OK, or at least very close, I think.

HTH,


-- 
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld



More information about the Tutor mailing list