>
> for i in range(0,10):
> print i
> buttonlabel = "field " +str(i)
> button[i].append = Button (text=buttonlabel)
> button[i].grid(column=3, row = i+3)
>
> The current error is:
>
> File "report.py", line 80, in createWidgets
> button[i].append = Button (text=buttonlabel)
> IndexError: list index out of range
>
button = []
for i in range(0,10):
print i
print button[i]
Will cause the exact same error as button[i].append. Why? button=[],
it has no index.
Perhaps you just mean button[i] = Button (text=buttonlabel)?
Regards,
Liam Clarke
On Fri, 25 Feb 2005 06:53:56 +0000, Adam Cripps <[EMAIL PROTECTED]> wrote:
> On Thu, 24 Feb 2005 21:26:29 -0500, Kent Johnson <[EMAIL PROTECTED]> wrote:
> > Adam Cripps wrote:
> > > I'm trying to create recursive Tkinter buttons with:
> > >
> > > for i in range(0,10):
> > > print i
> > > buttonlabel = "field " +str(i)
> > > button[i] = Button (text=buttonlabel)
> > > button[i].grid(column=3, row = i+3)
> > >
> > > However, Tkinter doesn't seem to like it with
> >
> > Please show us the whole program. This works for me:
> >
> > from Tkinter import *
> >
> > root = Tk()
> > button = {}
> > for i in range(0,10):
> > print i
> > buttonlabel = "field " +str(i)
> > button[i] = Button (text=buttonlabel)
> > button[i].grid(column=3, row = i+3)
> >
> > root.mainloop()
> >
> > Kent
>
> Sorry guys for not be clear - recursive isn't the correct term -
> that's what you get when you fire off an email late at night.
>
> I want to create 10 buttons through a loop, each with different text
> and passing a different var to another function. My current code is:
> (the bit I'm currently working on is near the bottom)
>
> #!/usr/bin/env python
> from Tkinter import *
> from tkFont import *
> from string import *
> from sys import*
> from re import *
>
> class Application(Frame):
> def __init__(self, master=None, geometry="500x200"):
> """Starts the application off"""
> Frame.__init__(self,master)
> self.grid()
> self.addMenu()
> self.createWidgets()
>
> def quit(self):
> self.master.quit()
>
> def save(self):
> print "saving..."
>
> def open(self):
> print "opening..."
>
> def about(self):
> print "about"
>
> def addMenu(self):
> menu = Menu(root)
> root.config(menu=menu)
>
> filemenu = Menu(menu, tearoff=0)
> menu.add_cascade(label="File", menu=filemenu)
> filemenu.add_command(label="Open", command=self.open)
> filemenu.add_command(label="Save...", command=self.save)
> filemenu.add_separator()
> filemenu.add_command(label="Exit", command=self.quit)
>
> helpmenu = Menu(menu, tearoff=0)
> menu.add_cascade(label="Help", menu=helpmenu)
> helpmenu.add_command(label="About...", command=self.about)
>
> def createWidgets(self):
> """This creates all the widgets in the main frame"""
> titleLabel = Label(text="Squawk report generator")
> titleLabel.grid(column = 0, row=0)
> firstNameLabel = Label(text="First name: ")
> firstNameLabel.grid(column = 0, row = 3, sticky = NW)
> self.firstname = StringVar()
> firstNameEntry = Entry(textvariable = self.firstname)
> firstNameEntry.grid(column =1, row=3, sticky = NW)
> surNameLabel = Label(text="Surname: ")
> surNameLabel.grid(column = 0, row = 4, sticky = NW)
> self.surname= StringVar()
> surNameEntry = Entry(textvariable=self.surname)
> surNameEntry.grid(column = 1, row=4, stick=NW)
> button = Button(text ="hello")
>
> #Now we will loop around showing the entry fields
> TIA
> Adam
> --
> http://www.monkeez.org
> PGP key: 0x7111B833
> _______________________________________________
> Tutor maillist - [email protected]
> http://mail.python.org/mailman/listinfo/tutor
>
--
'There is only one basic human right, and that is to do as you damn well please.
And with it comes the only basic human duty, to take the consequences.
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor