Hi all, I've just started working with Python and Tkinter. One of the things I think I've noted is that Button commands do not pass parameters.
Is there a way around this? And is there a better way to code the following: I've written a small application that puts a Label in row 0 of a Frame and puts 26 buttons labeled A - Z in the second row. When the user clicks on a button, the associated letter is displayed in the label. Code follows: # Creates a label in row 0 # Creates 26 buttons A - Z in row 2 # Clicking a button changes the displayed label from Tkinter import * class Application(Frame): def __init__(self,master=None): Frame.__init__(self, master) self.grid() self.tv = StringVar() self.tv.set("?") self.lText = Label(master, textvariable = self.tv) self.lText.grid(row = 0, columnspan = 26) butA = Button(master, text= 'A', command = self.choseA).grid(row = 2, column = 0 ) butB = Button(master, text= 'B', command = self.choseB).grid(row = 2, column = 1 ) butC = Button(master, text= 'C', command = self.choseC).grid(row = 2, column = 2 ) butD = Button(master, text= 'D', command = self.choseD).grid(row = 2, column = 3 ) butE = Button(master, text= 'E', command = self.choseE).grid(row = 2, column = 4 ) butF = Button(master, text= 'F', command = self.choseF).grid(row = 2, column = 5 ) butG = Button(master, text= 'G', command = self.choseG).grid(row = 2, column = 6 ) butH = Button(master, text= 'H', command = self.choseH).grid(row = 2, column = 7 ) butI = Button(master, text= 'I', command = self.choseI).grid(row = 2, column = 8 ) butJ = Button(master, text= 'J', command = self.choseJ).grid(row = 2, column = 9 ) butK = Button(master, text= 'K', command = self.choseK).grid(row = 2, column = 10 ) butL = Button(master, text= 'L', command = self.choseL).grid(row = 2, column = 11 ) butM = Button(master, text= 'M', command = self.choseM).grid(row = 2, column = 12 ) butN = Button(master, text= 'N', command = self.choseN).grid(row = 2, column = 13 ) butO = Button(master, text= 'O', command = self.choseO).grid(row = 2, column = 14 ) butP = Button(master, text= 'P', command = self.choseP).grid(row = 2, column = 15 ) butQ = Button(master, text= 'Q', command = self.choseQ).grid(row = 2, column = 16 ) butR = Button(master, text= 'R', command = self.choseR).grid(row = 2, column = 17 ) butS = Button(master, text= 'S', command = self.choseS).grid(row = 2, column = 18 ) butT = Button(master, text= 'T', command = self.choseT).grid(row = 2, column = 19 ) butU = Button(master, text= 'U', command = self.choseU).grid(row = 2, column = 20 ) butV = Button(master, text= 'V', command = self.choseV).grid(row = 2, column = 21 ) butW = Button(master, text= 'W', command = self.choseW).grid(row = 2, column = 22 ) butX = Button(master, text= 'X', command = self.choseX).grid(row = 2, column = 23 ) butY = Button(master, text= 'Y', command = self.choseY).grid(row = 2, column = 24 ) butZ = Button(master, text= 'Z', command = self.choseZ).grid(row = 2, column = 25 ) def choseA(self): self.resolveChoice( 65 ) def choseB(self): self.resolveChoice( 66 ) def choseC(self): self.resolveChoice( 67 ) def choseD(self): self.resolveChoice( 68 ) def choseE(self): self.resolveChoice( 69 ) def choseF(self): self.resolveChoice( 70 ) def choseG(self): self.resolveChoice( 71 ) def choseH(self): self.resolveChoice( 72 ) def choseI(self): self.resolveChoice( 73 ) def choseJ(self): self.resolveChoice( 74 ) def choseK(self): self.resolveChoice( 75 ) def choseL(self): self.resolveChoice( 76 ) def choseM(self): self.resolveChoice( 77 ) def choseN(self): self.resolveChoice( 78 ) def choseO(self): self.resolveChoice( 79 ) def choseP(self): self.resolveChoice( 80 ) def choseQ(self): self.resolveChoice( 81 ) def choseR(self): self.resolveChoice( 82 ) def choseS(self): self.resolveChoice( 83 ) def choseT(self): self.resolveChoice( 84 ) def choseU(self): self.resolveChoice( 85 ) def choseV(self): self.resolveChoice( 86 ) def choseW(self): self.resolveChoice( 87 ) def choseX(self): self.resolveChoice( 88 ) def choseY(self): self.resolveChoice( 89 ) def choseZ(self): self.resolveChoice( 90 ) def resolveChoice(self,asciiVal): self.tv.set(chr(asciiVal)) root = Tk() app = Application(root) root.mainloop()
_______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss