0
スレッドからプログラムを終了するには?サーバーに接続できず、ユーザーがキャンセルをクリックした場合、プログラム全体を終了したい。Pythonの他のスレッドからメインスレッドを終了
class Client(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
t = threading.Thread(target = self.connect)
t.setDaemon(True)
t.start()
def connect(self):
try:
r.connect("localhost", 28015)
self.refresh_objects()
except r.ReqlDriverError as e:
self.db_exception_handler()
def db_exception_handler(self):
if(tk.messagebox.askretrycancel('ERROR','ERROR: Unable to connect to the database.')):
try:
r.connect("localhost", 28015)
except r.ReqlDriverError as e:
self.db_exception_handler()
else:
root.destroy() #I want to terminate here the program
#I tried: threading.main_thread().destroy() but not working
def main():
root = tk.Tk()
root.title("IOT_LPS_Client")
cln = Client(master=root)
cln.mainloop()
try:
root.destroy()
except:
pass
if __name__ == '__main__':
main()