D wrote: > I am trying to do the following using Python and Tkinter: > > 1) Display a window with 1 button > 2) When user clicks the button, Python attempts to call a function > that opens a socket and listens for a connection - what I want to do > is, if the socket has been successfully opened and the system is > waiting for a connection, to turn the button green. > > The problem I'm having is when the button is clicked, the color never > changes and the application "locks up" until the remote end connects > and disconnects. Where can I put the button configuration statement so > that it will turn green to indicate the socket was opened successfully?
You need to give some time to the GUI so it can draw. A minimal solution is to call root.update_idletasks() after you set the button to green. If you want the GUI to be responsive you have to run the socket in a separate thread; this recipe may give you some help though it may be more complex than you need: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/82965 Kent -- http://mail.python.org/mailman/listinfo/python-list
