J
J Wolfe
I would really appreciate some help with this. I'm fairly new to
using classes...What am I doing wrong? All I get is a blank window. I
can't seem to figure out how to initialize this Progress Bar.
Thanks,
Jonathan
##############################file Meter.py####################
from Tkinter import *
class Meter(Frame):
'''A simple progress bar widget.'''
def __init__(self, master, fillcolor='orchid1', text='',value=0.0,
**kw):
Frame.__init__(self, master, bg='white', width=350,height=20)
self.configure(**kw)
self._c = Canvas(self, bg=self['bg'],width=self['width'],
height=self['height'],highlightthickness=0, relief='flat',bd=0)
self._c.pack(fill='x', expand=1)
self._r = self._c.create_rectangle(0, 0, 0, int(self['height']),
fill=fillcolor, width=0)
self._t = self._c.create_text(int(self['width'])/2,
int(self['height'])/2, text='')
self.set(value, text)
def set(self, value=0.0, text=None):
#make the value failsafe:
if value < 0.0:
value = 0.0
elif value > 1.0:
value = 1.0
if text == None:
#if no text is specified get the default percentage string:
text = str(int(round(100 * value))) + ' %'
self._c.coords(self._r, 0, 0, int(self['width']) * value,
int(self['height']))
self._c.itemconfigure(self._t, text=text)
root=Tk()
f=Meter(root)
for i in range(100):
f.set(i,"Hello")
print i
mainloop()
using classes...What am I doing wrong? All I get is a blank window. I
can't seem to figure out how to initialize this Progress Bar.
Thanks,
Jonathan
##############################file Meter.py####################
from Tkinter import *
class Meter(Frame):
'''A simple progress bar widget.'''
def __init__(self, master, fillcolor='orchid1', text='',value=0.0,
**kw):
Frame.__init__(self, master, bg='white', width=350,height=20)
self.configure(**kw)
self._c = Canvas(self, bg=self['bg'],width=self['width'],
height=self['height'],highlightthickness=0, relief='flat',bd=0)
self._c.pack(fill='x', expand=1)
self._r = self._c.create_rectangle(0, 0, 0, int(self['height']),
fill=fillcolor, width=0)
self._t = self._c.create_text(int(self['width'])/2,
int(self['height'])/2, text='')
self.set(value, text)
def set(self, value=0.0, text=None):
#make the value failsafe:
if value < 0.0:
value = 0.0
elif value > 1.0:
value = 1.0
if text == None:
#if no text is specified get the default percentage string:
text = str(int(round(100 * value))) + ' %'
self._c.coords(self._r, 0, 0, int(self['width']) * value,
int(self['height']))
self._c.itemconfigure(self._t, text=text)
root=Tk()
f=Meter(root)
for i in range(100):
f.set(i,"Hello")
print i
mainloop()