Jag försöker få till så att när jag högerklickar på label1 så ökas variablen counter med 50.
När jag kör koden och högerklickar på labeln så får jag felet: TypeError: rightClick() takes 0 positional arguments but 1 was given
Exception in Tkinter callback
Är det någon här som har en aning om vad som är tok och kan det här?
M,, det här är nog bra. Behöver läsa på lite.
När jag placerade event inom parantesen så fick jag tillbaka UnboundLocalError: local variable 'counter' referenced before assignment
Ska läsa igenom den länken nu och se om jag blir något klokare.
Snyggt!
Inte för att jag riktigt förstår varför jag gör det i en funktion.
I andra språk har man deklarerat sånt först i koden, dock ser jag att det är gjort så på andra ställen.
Koden körs nu utan fel men labeltexten syns inte. Vet inte heller om counter uppdateras med 50.
Känns som att inte labeln "uppdateras" vid varje tryck, utan den laddas först och sen är den statisk.
EDIT: Oooo, ser att det är så nära. Variablen uppdateras som den ska i debuggern, bara att det inte visas i labeln! EDIT2: Det här var mig en himla nöt att knäcka... svårsökt också!
Ps. Ledsen om jag fräser ur mig frågor men är verkligen inte bra med kod Ds.
You'll want to set the label's textvariable with a StringVar; when the StringVar changes (by you calling myStringVar.set("text here")), then the label's text also gets updated. And yes, I agree, this is a strange way to do things.
See the Tkinter Book for a little more information on this:
You can associate a Tkinter variable with a label. When the contents of the variable changes, the label is automatically updated:
v = StringVar()
Label(master, textvariable=v).pack()
I.o.m att det är en int så fanns det tydligen IntVar() istället.
Försöker använda det likadant som i ditt exempel men får varning om Invalid syntax +=.
Det förstår jag om det hade varit en string men som en int så borde det ju gå.
Precis. Är ungefär där också med en del surfande. Försöker även att uppdatera labeln manuellt som nedan.
Både in och min kod genererar dock AttributeError: 'NoneType' object has no attribute '_root'
Så här ser mitt testprogram ut för att bryta ner den här funktionen till så liten beståndsdel som möjligt.
Den genererar bara ett fönster med en grå ruta i. Högerklickar man så dyker "50" upp i rutan men sen händer inget mer.
Det där med att dribbla runt med globaler hade jag inte litat på. Dokumentationen för Tk i Python lämnar väldigt mycket i övrigt att önska så fort man skall göra något mer avancerat.
Testade även som du skrev men det blev någon varning om att self inte var deklarerat (eller något sånt).
Är så ofin så jag låter det vara som jag postade innan ditt inlägg. Det fungerade även utmärkt i den skarpa filen.
Ja precis Button 1, 2 eller 3 är makron för vänster, mitten och höger musknapp.