[Python-Dev] Event loops, PyOS_InputHook, and Tkinter
Ronald Oussoren
ronaldoussoren at mac.com
Mon Nov 14 07:39:28 CET 2005
On 14-nov-2005, at 2:20, Michiel Jan Laurens de Hoon wrote:
> skip at pobox.com wrote:
>
>> If I have a Gtk app I have to feed other (socket, callback) pairs
>> to it. It
>> takes care of adding it to the select() call. Python could
>> dictate that the
>> way to play ball is for other packages (Tkinter, PyGtk, wxPython,
>> etc) to
>> feed Python the (socket, callback) pair. Then you have a uniform
>> way to
>> control event-driven applications. Today, a package like
>> Michiel's has no
>> idea what sort of event loop it will encounter. If Python
>> provided the
>> event loop API it would be the same no matter what widget set
>> happened to be
>> used.
>>
>>
> This is essentially how Tcl does it (and which, btw, is currently
> being
> used in Tkinter):
> Tcl has the functions *Tcl_CreateFileHandler/**Tcl_DeleteFileHandler*,
> which allow a user to add a file descriptor to the list of file
> descriptors to select() on, and to specify a callback function to the
> function to be called when the file descriptor is signaled. A similar
> API in Python would give users a clean way to hook into the event
> loop,
> independent of which other packages are hooked into the event loop.
... except when the GUI you're using doesn't expose (or even use) a file
descriptor that you can use with select. Not all the world is Linux.
BTW. I find using the term 'event loop' for the interactive mode very
confusing.
Ronald
More information about the Python-Dev
mailing list