[Tkinter-discuss] non-GUI event detection in Tkinter mainloop()
Cam Farnell
msa01 at bitflipper.ca
Wed May 20 04:35:32 CEST 2009
The only way I know of to do this is to use "after" to invoke a function which does the file checking and whatever else is required. That function sets another "after" - with perhaps a one second delay or whatever seems appropriate - to invoke itself. Thus the function is invoked repeatedly to keep track of the file. It isn't pretty but it works.
Cam Farnell
O'Gorman, Lawrence (Larry) wrote:
> I’m trying to figure out if Python and Tkinter can offer a solution to
> my following problem. I want to monitor a file and when that file is
> changed, I want to detect that event and have my window change its text
> from “File Unchanged” to “File has Changed.”
>
>
>
> That is, I can produce a function to periodically sample the
> modification time of a file and if it is different than my last sample
> time, then this function will return an indication that the file is
> changed. I want this file-change event to be captured by the tkinit
> mainloop(), which I will then use to change the appearance of my window.
>
>
>
> I understand that any GUI event (mouse, keyboard, etc.) can be detected
> in the mainloop(), but I have seen no indication in the documentation
> and discussions that a file-change can produce an event that can be
> detected in the mainloop(). Does anyone know if I can do this? If so,
> how? Or, if there is an alternative way than mainloop() to get a window
> to change upon a file-change, that would be helpful, too.
More information about the Tkinter-discuss
mailing list