If you get it to work using threads I will be interested in learning how. I have tried fork and threads with Tk and the only thing that kind of works is when you fork in such a way that you never manipulate a widget within the child. To communicate with the parent I use a pair of pipes.
I would give POE a shot if you are not successful with threads.