Ah, I understand now. My QThread object lives in the main thread, but I thought signals and slots for the QThread would execute inside it's thread context. Thanks for the link, dbzhang800.