Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 2 von 2 Treffern
Autor Beitrag
Thema: Attribut Fehler in Python
Ezrael

Antworten: 2
Hits: 4.393
11.10.2016 20:22 Forum: Softwaretechnik


Ja das ist mir auch grad aufgefallen ^^. Jedenfalls habe ich die text Funktion einfach in die reveal funktion getan und mir so das self erspart. Danke nochmal für die die schnelle Antwort.
Thema: Attribut Fehler in Python
Ezrael

Antworten: 2
Hits: 4.393
Attribut Fehler in Python 11.10.2016 16:55 Forum: Softwaretechnik


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.
Zeige Beiträge 1 bis 2 von 2 Treffern