In der Methode cmd_actions_start_curvequickfit_50_40_25_10(self) wird ein Dialog neu angezeigt und der Button-Klick verweist dann auf die Methode cmd_actions_start_curvequickfit_50_40_25_10_set(self). Okay, der Methodenaufruf esult_list_of_lines = self.h2r_helper.start_curvequickfit_50_40_25_10(path_name, msa_name) braucht viel Zeit, jetzt wollte ich gerne da einfach einen Info-Frame einblenden, bei dem steht 'Kiste rechnet gerade' und wollte aber dass der Frame mit dem Button nach dem Klick wieder verschwindet. Aktuell ist es so: nach einem Klick startet die umfassende Berechnung der Dialog mit dem Button-bleibt aber und die OK-Schaltfläche ist im 'Bin angeklickt'-Status. Was läuft da falsch?
Code: Alles auswählen
def cmd_actions_start_curvequickfit_50_40_25_10(self):
#print("cmd_actions_start_curvequickfit_50_40_25_10()")
self.actions_start_curvequickfit_50_40_25_10_inputdia_frame = tkinter.Toplevel(self.root)
tkinter.Label(self.actions_start_curvequickfit_50_40_25_10_inputdia_frame, text="Pfad zum MSA; Name des MSA:").pack()
self.actions_start_curvequickfit_50_40_25_10_inputdia_msa_path = tkinter.Entry(self.actions_start_curvequickfit_50_40_25_10_inputdia_frame)
self.actions_start_curvequickfit_50_40_25_10_inputdia_msa_name = tkinter.Entry(self.actions_start_curvequickfit_50_40_25_10_inputdia_frame)
self.actions_start_curvequickfit_50_40_25_10_inputdia_msa_path.pack()
self.actions_start_curvequickfit_50_40_25_10_inputdia_msa_name.pack()
self.actions_start_curvequickfit_50_40_25_10_inputdia_button = tkinter.Button(self.actions_start_curvequickfit_50_40_25_10_inputdia_frame, text="OK", command=self.cmd_actions_start_curvequickfit_50_40_25_10_set)
self.actions_start_curvequickfit_50_40_25_10_inputdia_button.pack()
def cmd_actions_start_curvequickfit_50_40_25_10_set(self):
#print("cmd_actions_start_curvequickfit_50_40_25_10_set()")
path_name = self.actions_start_curvequickfit_50_40_25_10_inputdia_msa_path.get()
msa_name = self.actions_start_curvequickfit_50_40_25_10_inputdia_msa_name.get()
#print( "Pfad", path_name)
#print( "Name", msa_name)
self.actions_start_curvequickfit_50_40_25_10_inputdia_frame.destroy()
actions_start_curvequickfit_50_40_25_10_progressdia_frame = tkinter.Toplevel(self.root)
tkinter.Label(actions_start_curvequickfit_50_40_25_10_progressdia_frame, text="Berechnung läuft ...").pack()
result_list_of_lines = self.h2r_helper.start_curvequickfit_50_40_25_10(path_name, msa_name)
actions_start_curvequickfit_50_40_25_10_progressdia_frame.destroy()
self.actions_start_curvequickfit_50_40_25_10_frame = tkinter.Toplevel(self.root)
tkinter.Label(self.actions_start_curvequickfit_50_40_25_10_frame, text="CurveQuickFit 50 40 25 10 ...").pack()
self.actions_start_curvequickfit_50_40_25_10_scrollpane = tkinter.scrolledtext.ScrolledText(self.actions_start_curvequickfit_50_40_25_10_frame, width=80, height=10)
self.actions_start_curvequickfit_50_40_25_10_output_string = "Auswertung curvequickfit() - Gesamtmsa: \n"
for element in result_list_of_lines:
string_to_append = str( element )
self.actions_start_curvequickfit_50_40_25_10_output_string += string_to_append
self.actions_start_curvequickfit_50_40_25_10_output_string += "\n"
self.actions_start_curvequickfit_50_40_25_10_scrollpane.insert("end", self.actions_start_curvequickfit_50_40_25_10_output_string)
self.actions_start_curvequickfit_50_40_25_10_scrollpane.pack()