Hi Geoff, On Wed, 13 Jan 2010 22:41:55 +0100 Geoff Bache <geoff.ba...@gmail.com> wrote:
(...) > > Hi Michael, > > Thanks for your detailed reply. I feel also that there should be a > simpler solution and I can't say I *want* to use threads exactly. What > I think you're missing above is that a GUI testing tool is supposed to > deal with an arbitrary application under test so I don't have any > control over the widgets and how they're packed. That also makes it > difficult to call root.update() because I don't know when the > application would be ready for me to do so. > Hmm, from your previous posts I thought you would just do the call to root.after_idle(self.replayEvents) right before root.mainloop() ? If so, why not do root.deiconify() root.update() root.after_idle(self.replayEvents) root.mainloop() I don't think there is any risk in using update() like this. I am afraid I did not understand you properly though, and what you are trying is more complex than I thought. I actually don't have any experience with gui testing tools :) Another idea, which looks a little hackish, but maybe does the trick as well, is to add a test if the window is visible to the replayEvents() method and if not call it again after 100 ms or so, like: def replayEvents(self): if root.winfo_ismapped(): # do things.... else: root.after(100, self.replayEvents) Really not nice, but simple (and maybe effective?). Regards Michael > In any case, the documentation for update() is as follows: > > "This method forces the updating of the display. It should be used > only if you know what you're doing, since it can lead to unpredictable > behavior or looping. It should never be called from an event callback > or a function that is called from an event callback." > > makes it sound just about as risky as what I'm doing at the moment... > especially as I can't really claim I know what I'm doing having looked > at tkinter for the first time less than a week ago :) > > Regards, > Geoff > _______________________________________________ > Tkinter-discuss mailing list > Tkinter-discuss@python.org > http://mail.python.org/mailman/listinfo/tkinter-discuss _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss