<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">I explained the problem in detail <a href="http://stackoverflow.com/questions/37198582/gifs-shown-inside-a-label-doesnt-update-itself-regulary-in-pyqt5" target="_blank">here</a><br></div>
<br></blockquote><div><br></div><div>From your post it sounds like you know what the problem is already. If you block the main thread, the GUI will not update. </div><div><br></div><div>Suggestions:</div><div><br></div><div>- If pexpect needs to work in one thread, have a dedicated pexpect thread that you communicate with using signals/slots.</div><div>- From reading the pexpect docs, there is a way to make expect() return an asyncio coroutine which would be one way to avoid separate threads entirely... See <a href="https://github.com/harvimt/quamash">https://github.com/harvimt/quamash</a></div><div><br></div><div><br></div></div></div></div>