|
Meine Frage:
Ich bekomme eine Fehlermeldung die ich leider nicht nachvollziehen kann. Nämlich dann, wenn ich die Funktion Text(antwort,text) beanspruche. Hier der Code: (Leider gehen die indents verloren, nehmen wir einfach mal an dabei habe ich kein Fehler gemacht, denn ich kann die Datei nicht hochladen)
from tkinter import *
class Application(Frame):
def __init__(self, master):
Frame.__init__(self,master)
self.grid()
self.create_widgets()
def create_widgets(self):
self.instruction = Label(self, text= " Gib answer0 ein")
self.instruction.grid(row = 0, column = 0, columnspan = 2, sticky = W)
self.answer = Entry(self)
self.answer.grid(row=1, column=1, sticky = W)
self.eingabeButton = Button(self, text= "Eingeben", command = self.reveal)
self.eingabeButton.grid(row=2,column = 0, sticky = W)
self.text = Text(self, width = 50, height = 25, wrap = WORD)
self.text.grid(row=3, column = 0, columnspan = 2, sticky = W)
def Text(antwort,text):
if content == antwort:
message = text
self.text.insert(0.0,message)
def reveal(self):
answerList = ["answer0", "answer2", "answern"]
textList = ["text0", "text1", "textn"]
content = self.answer.get()
if answerList.count(content)!=1:
message= "Ungültige Antwort"
self.text.insert(0.0,message)
else:
for i in range(0,len(answerList)):
Text(answerList[i],textList[i])
root = Tk()
root.title("test")
root.geometry("500x300")
app = Application(root)
root.mainloop()
EDIT: Hier die Fehlermeldung:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Elios\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__ini
t__.py", line 1550, in __call__
return self.func(*args)
File "D:/infotest.py", line 46, in reveal
Text(answerList[i],textList[i])
File "C:\Users\Elios\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__ini
t__.py", line 2947, in __init__
Widget.__init__(self, master, 'text', cnf, kw)
File "C:\Users\Elios\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__ini
t__.py", line 2132, in __init__
BaseWidget._setup(self, master, cnf)
File "C:\Users\Elios\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__ini
t__.py", line 2110, in _setup
self.tk = master.tk
AttributeError: 'str' object has no attribute 'tk'
>>>
Meine Ideen:
Ich könnte die Funktion einfach weglassen und alles per Hand hinschreiben. Dann weiß ich aber immer noch nicht was ich falsch gemacht habe.
|
|