Hi, I've been practicing with multithreading and gtk for a while and recently have observed something I can't quite grasp.
This is basically a timer with a settings window and a countdown window which is produced after setting_window passes necessary arguments to thread. I have a while loop which counts time, inside the thread, while variable "runner" is True, which looks like this: def run(self): cycle = ['work', 'break', 'long_break'] cycle = cycle[:2]*self.workn+cycle[3] self.runner = True sec_count = timedelta(seconds=1) while self.runner == True: for i in cycle: self.setState(i) print('Start:', i, datetime.now()) while self.end_time > datetime.now(): time.sleep(1) self.duration -= sec_count self.count[self.state] += 1 And I want countdown to stop when countdown_window receives delete event, thus I have a countdown_window.stop() function which is defined as follows: def stop(self, *args): pom.count[pom.state] -= 1 pom.runner = False # refers to the runner of the thread. print(pom.runner) # prints False, Gtk.main_quit() What I expect to happen is that while loop to break, but it does not. Any suggestions? Best, Oğuzhan
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor