habs mit der as tk methode versucht, also vor jedes labl button Tk etc ein tk. gesetzt und as tk importiert.
jetzt kommt da "Exception in Tkinter callback" wenn ich das hauptfenster lade. Ich poste mal den gesammten code. (Soll eine art Browsergame im gui werden.)
Code: Alles auswählen
# -*- coding: cp1252 -*-
import Tkinter
import Image
import ImageTk
# INTRO_________
import Tkinter as tk
root=tk.Tk()
lab1=tk.Label(root,text="Wilkommen zu Crackgame!!! Dein Dealergame im GUI!!")
lab1.pack()
def newgame():
newfenster=tk.Tk()
lab1=tk.Label(newfenster,text="""Bitte den neuen Spielernamen eingeben.
Alte Spielstände werden überschrieben!""")
ent1=tk.Entry(newfenster)
def makeacc():
accname = ent1.get()
writefile = open("bin/account/1.txt",'w')
writefile.close()
x = open("bin/account/1.txt",'w')
x.write("%s" % accname)
x.close()
writefile = open("bin/account/2.txt",'w')
writefile.close()
x = open("bin/account/2.txt",'w')
x.write("500")
x.close()
writefile = open("bin/account/3.txt",'w')
writefile.close()
x = open("bin/account/3.txt",'w')
x.write("1")
x.close()
writefile = open("bin/account/4.txt",'w')
writefile.close()
x = open("bin/account/4.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/5.txt",'w')
writefile.close()
x = open("bin/account/5.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/6.txt",'w')
writefile.close()
x = open("bin/account/6.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/7.txt",'w')
writefile.close()
x = open("bin/account/7.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/8.txt",'w')
writefile.close()
x = open("bin/account/8.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/9.txt",'w')
writefile.close()
x = open("bin/account/9.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/10.txt",'w')
writefile.close()
x = open("bin/account/10.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/11.txt",'w')
writefile.close()
x = open("bin/account/11.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/12.txt",'w')
writefile.close()
x = open("bin/account/12.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/13.txt",'w')
writefile.close()
x = open("bin/account/13.txt",'w')
x.write("0")
x.close()
writefile = open("bin/account/14.txt",'w')
writefile.close()
x = open("bin/account/14.txt",'w')
x.write("0")
x.close()
x = open("bin/account/15.txt",'w')
x.write("0")
x.close()
erfolg=Tk()
lab1=tk.Label(erfolg,text="Erfolg! Bitte mit Spiel fortsetzen losspielen!")
lab1.pack()
but1=tk.Button(erfolg,text="OK",command=erfolg.destroy)
but1.pack()
okbut=tk.Button(newfenster,text="OK",command=makeacc)
close=tk.Button(newfenster,text="Abbrechen",command=newfenster.destroy)
lab1.pack()
ent1.pack()
okbut.pack()
close.pack()
newgame=tk.Button(root,text="Neues Spiel",command=newgame)
def contin():
fort=tk.Tk()
lab1=tk.Label(fort,text="Sicherheitsmaßnahme: Bitte geben sie hier ihre ID ein.")
lab1.grid(columnspan=2)
identify=tk.Entry(fort)
#HAUPTSPIELFENSTER________________
def GAME():
stat=open("bin/account/1.txt",'r')
eingabe=identify.get()
name=stat.readline()
if name==eingabe:
main=tk.Tk()
space=tk.Label(main,text="")
wmessage=tk.Label(main,text="""Wilkommen zu "Crackgame" dem Python-Dealergame by NeverGod """)
anfertigenbutton=tk.Button(main,text="Drogen herstellen",height=2,width=16)
verkaufenbutton=tk.Button(main,text="Drogen verkaufen",height=2,width=16)
gebietebutton=tk.Button(main,text="Gebiete beziehen",height=2,width=16)
skills=tk.Button(main,text="Skillpunkte vergeben",height=2,width=16)
veranstaltungen=tk.Button(main,text="Veranstaltungen",height=2,width=16)
gebaudebutton=tk.Button(main,text="Gebäude",height=2,width=16)
#LAGERBESTAND_________________
def lagerwin():
lager=tk.Tk()
descript=Label(lager,text="""Wilkommen in deinem Lager! Hier siehst du was du gerade da hasst. Denke daran nicht
alles selber zu konsumieren!!!""")
space=Label(lager,text="")
space2=Label(lager,text="")
space3=Label(lager,text="")
space4=Label(lager,text="")
space5=Label(lager,text="")
space6=Label(lager,text="")
def pil_to_tk(pil_image):
tk_image = ImageTk.PhotoImage("RGBA", pil_image.size)
tk_image.paste(pil_image)
return tk_image
img = Image.open("bin/img/lolliava.gif")
photo = pil_to_tk(img)
lolliimglab=tk.Label(lager, image=photo)
lollinamelab=tk.Label(lager,text="Lollipop´s : ")
x=open("bin/account/9.txt",'r')
lollisread=x.readline()
lollis=int(lollisread)
x.close()
lolliamountlab=tk.Label(lager,text="%s gramm" % lollis)
descript.grid(columnspan=3)
space.grid(row=2)
lolliimglab.grid(row=3,column=1)
lollinamelab.grid(row=3,column=2)
lolliamountlab.grid(row=3,column=3)
lagerbutton=tk.Button(main,text="Lagerbestand",height=2,width=16,command=lagerwin)
namelabel=tk.Label(main,text="Name : ")
def namestat():
x=open("bin/account/1.txt",'r')
namestat=x.readline()
x.close()
namelabel1=tk.Label(main,text="%s" % namestat)
def update_name():
x=open("bin/account/1.txt",'r')
namestat=x.readline()
x.close()
namelabel1.config(text=namestat)
namelabel1.after(1000,update_name)
def namestat():
x=open("bin/account/1.txt",'r')
namestat=x.readline()
x.close()
namelabel1.after(1000,update_name)
x=open("bin/account/2.txt",'r')
geldread=x.readline()
geld=int(geldread)
x.close()
geldlab=Label(main,text="Geld : ")
geldlabel=Label(main,text="%s $" % geld)
def update_geld():
x=open("bin/account/2.txt",'r')
geldread=x.readline()
geld=int(geldread)
x.close()
geldlabel.config(text="%s $" % geld)
geldlabel.after(1000,update_geld)
geldlabel.after(1000,update_geld)
levellabel=tk.Label(main,text="Level : ")
def level():
x=open("bin/account/3.txt",'r')
levelread=x.readline()
level=int(levelread)
x.close()
levellabel1=tk.Label(main,text=level)
def update_level():
x=open("bin/account/3.txt",'r')
levelread=x.readline()
level=int(levelread)
x.close()
levellabel1.config(text=level)
levellabel1.after(1000,update_level)
levellabel1.after(1000,update_level)
explabel=tk.Label(main,text="EXP : ")
def exp():
x=open("bin/account/4.txt",'r')
expread=x.readline()
exp=int(expread)
x.close()
explabel1=tk.Label(main,text=exp)
def update_exp():
x=open("bin/account/4.txt",'r')
expread=x.readline()
exp=int(expread)
x.close()
explabel1.config(text=exp)
explabel1.after(1000,update_exp)
explabel1.after(1000,update_exp)
splabel=tk.Label(main,text="Skillpoints : ")
def skillpoint():
x=open("bin/account/5.txt",'r')
skillpread=x.readline()
skillpoint=int(skillpread)
x.close()
splabel1=tk.Label(main,text=skillpoint)
def update_skillpoint():
x=open("bin/account/5.txt",'r')
skillpread=x.readline()
skillpoint=int(skillpread)
x.close()
splabel1.config(text=skillpoint)
splabel.after(1000,update_skillpoint)
splabel1.after(1000,update_skillpoint)
chemlevllab=tk.Label(main,text="Chemiker Skilllevel : ")
def chemlvl():
x=open("bin/account/6.txt",'r')
chemlvlread=x.readline()
chemlvl=int(chemlvlread)
x.close()
chemlevllab1=tk.Label(main,text=chemlvl)
def update_chemlvl():
x=open("bin/account/6.txt",'r')
chemlvlread=x.readline()
chemlvl=int(chemlvlread)
x.close()
chemlevllab1.config(text=chemlvl)
chemlevllab1.after(1000,update_chemlvl)
chemlevllab1.after(1000,update_chemlvl)
werblevllab = tk.Label(main,text="Werbegenie Skilllevel : ")
def werblvl():
x=open("bin/account/7.txt",'r')
werblvlread=x.readline()
werblvl=int(werblvlread)
x.close()
werblevllab1 = tk.Label(main,text=werblvl)
def update_werblvl():
x=open("bin/account/7.txt",'r')
werblvlread=x.readline()
werblvl=int(werblvlread)
x.close()
werblevllab1.config(text=werblvl)
werblevllab1.after(1000,update_werblvl)
werblevllab1.after(1000,update_werblvl)
verhlevllab = tk.Label(main,text="Verhandlngsgeschick Skilllevel : ")
def verhlvl():
x=open("bin/account/8.txt",'r')
verhlvlread=x.readline
verhlvl=int(verhlvlread)
x.close()
verhlevellab1=tk.Label(main,text=verhlvl)
def update_verhlvl():
x=open("bin/account/8.txt",'r')
verhlvlread=x.readline()
verhlvl=int(verhlvlread)
x.close()
verhlevellab1.config(text=verhlvl)
verhlevellab1.after(1000,update_verhlvl)
verhlevellab1.after(1000,update_verhlvl)
ruhmlabel=tk.Label(main,text="Ruhm : ")
def ruhm():
x=open("bin/account/15.txt",'r')
ruhmread=x.readline()
ruhm=int(ruhmread)
x.close()
ruhmlabel1=tk.Label(main,text=ruhm)
def update_ruhm():
x=open("bin/account/15.txt",'r')
ruhmread=x.readline()
ruhm=int(ruhmread)
x.close()
ruhmlabel1.config(text=ruhm)
ruhmlabel1.after(1000,update_ruhm)
ruhmlabel1.after(1000,update_ruhm)
space2=tk.Label(main,text="")
space.grid()
wmessage.grid(column=1,columnspan=3)
anfertigenbutton.grid(row=2)
verkaufenbutton.grid(row=4)
gebietebutton.grid(row=6)
skills.grid(row=8)
veranstaltungen.grid(row=10)
gebaudebutton.grid(row=12)
lagerbutton.grid(row=14)
namelabel.grid(row=3,column=2)
namelabel1.grid(row=3,column=3)
geldlab.grid(row=4,column=2)
geldlabel.grid(row=4,column=3)
levellabel.grid(row=5,column=2)
levellabel1.grid(row=5,column=3)
explabel.grid(row=6,column=2)
explabel1.grid(row=6,column=3)
splabel.grid(row=7,column=2)
splabel1.grid(row=7,column=3)
chemlevllab.grid(row=8,column=2)
chemlevllab1.grid(row=8,column=3)
werblevllab.grid(row=9,column=2)
werblevllab1.grid(row=9,column=3)
verhlevllab.grid(row=10,column=2)
verhlevellab1.grid(row=10,column=3)
ruhmlabel.grid(row=11,column=2)
ruhmlabel1.grid(row=11,column=3)
space.grid(row=13)
else:
noway=tk.Tk()
label=tk.Label(noway,text="Falsche ID!!")
button=tk.Button(noway,text="OK",command=noway.destroy)
label.pack()
button.pack()
#HAUPTSPIELFENSTER ENDE_______
Identok=tk.Button(fort,text="Fortsetzen!",command=GAME)
identify.grid(row=2,column=0)
Identok.grid(row=2,column=1)
continuegame=tk.Button(root,text="Fortsetzen",command=contin)
close=tk.Button(root,text="Schließen",command=root.destroy)
newgame.pack()
continuegame.pack()
close.pack()
root.mainloop()
#INRO ENDE________