class MainWindow(QMainWindow): def __init__(self, appctxt): super(MainWindow, self).__init__() self.setWindowTitle("EncryptiiChat") self.appctxt = appctxt with open(self.appctxt.get_resource("config.json")) as f: cfg = json.load(f) server = cfg['server'] port = int(cfg['port']) stylesheet = self.appctxt.get_resource('style.qss') self.setStyleSheet(open(stylesheet).read()) print(server, port) self.server_exec = Executer( (server, port), alias_url=self.appctxt.get_resource("alias.json")) atexit.register(self.server_exec.on_exit) self.mainWidget = ChatWindow(self.server_exec, self.appctxt) self.setCentralWidget(self.mainWidget) def closeEvent(self, event): print("close") if self.server_exec.not_logged_in(): return while True: try: rsp = self.server_exec.exec_("offline") if rsp != False: print(rsp) break except: continue