Also ich bin neu zu tKinter sowie Klassen in Python zu dem Grad, ich verwende sie hier. Ich habe viel zu diesem Thema geforscht, aber es fällt mir schwer, alles zusammen zu stellen. Die Frage ist; Ich habe Def-Funktionen unter meiner Hauptklasse, die erste ist def class_Window (die ein Tabellenblatt erstellt) und die andere ist def-Schaltflächen (im Wesentlichen alle meine Schaltflächen zu halten, die ich erstelle). Ich bin dabei, eine Schaltfläche zum Speichern der Tabelle mit tkintertable.Tables.TableCanvas speichern Funktion mit macht eine Gurke-Datei. Für das Leben von mir kann ich nicht herausfinden, wie man die Schaltfläche mit der Tabellenklasse in der Definitionsfunktion verbindet.Verknüpfen eines tKinter Button über Klassen
Die Fehler, die ich bekomme, sind ungültige Syntax oder hat kein Attribut.
Jede Hilfe, wie dies in zu bekommen kommen würde groß sein
class AccuracyAssessmentApp:
def __init__(self, parent=Tk()):
self.mainWindow = (parent)
self.mainWindow.title("Accuracy Assessment")
self.mainWindow.geometry("1000x700")
self.make_txt()
self.pos_lbl()
self.buttons()
self.class_Window()
self.title_label()
def make_txt(self):
self.text = Text(self.mainWindow, width = 80, height = 40, background = "#A8A8A8")
self.text.pack(expand = TRUE, fill = BOTH)
def pos_lbl(self):
self.pos = Label(self.mainWindow, text = "0,0")
self.pos.place(x=0, y=0)
self.pos1 = Label(self.mainWindow, text = "0,350")
self.pos1.place(x=0, y=350)
self.pos2 = Label(self.mainWindow, text = "500,0")
self.pos2.place(x=500, y=0)
def class_Window(self):
self.tableFrame = Frame()
self.tableFrame.place(x=680,y=200)
self.table = TableCanvas(self.tableFrame, rows=30,cols=2, width=240)
self.table.createTableFrame()
def title_label(self):
self.titleFrame = Frame(self.mainWindow, bg= '#4A766E', relief="raised", bd=10)
self.titleFrame.place(x=385, y=20)
self.title = Label(self.titleFrame, text=("""Accuracy Assessment"""), font=LARGE_FONT, bg= '#4A766E', fg="white", justify="center")
self.title.pack(pady=10, padx=10)
def buttons(self):
Button(self.mainWindow, text="Quit", command=self.mainWindow.destroy).place(x=10,y=665)
Button(self.mainWindow, text="Save", command=self.table.save("AssessmentTable"))
Dies ist der Fehler erhalte ich:
runfile('I:/Custom_Scripts/Personal/AccuracyAssessment/AccuracyAssessment_v2.py', wdir='I:/Custom_Scripts/Personal/AccuracyAssessment')
Traceback (most recent call last):
File "<ipython-input-1-d9c198c0cd24>", line 1, in <module>
runfile('I:/Custom_Scripts/Personal/AccuracyAssessment/AccuracyAssessment_v2.py', wdir='I:/Custom_Scripts/Personal/AccuracyAssessment')
File "C:\Users\jpc08005\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile
execfile(filename, namespace)
File "C:\Users\jpc08005\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "I:/Custom_Scripts/Personal/AccuracyAssessment/AccuracyAssessment_v2.py", line 79, in <module>
app = AccuracyAssessmentApp()
File "I:/Custom_Scripts/Personal/AccuracyAssessment/AccuracyAssessment_v2.py", line 41, in __init__
self.buttons()
File "I:/Custom_Scripts/Personal/AccuracyAssessment/AccuracyAssessment_v2.py", line 75, in buttons
Button(self.mainWindow, text="Save", command=self.table.save("AssessmentTable"))
AttributeError: AccuracyAssessmentApp instance has no attribute 'table'
Bitte einen tatsächlichen Fehler anzeigen. Der Fehler und die Rückverfolgung haben spezifische Informationen, die beschreiben, wo das Problem liegt und wo das Problem liegt. –
bitte nicht in den Kommentaren. Sie können Ihre Frage bearbeiten. –