擅长:python、mysql、java
<p>GUI没有响应,因为您在<code>do_upload</code>中完成所有工作,从不返回主循环。在</p>
<p>另外,您可以调用<code>Thread.join()</code>,在线程完成之前阻塞所有内容(请参见<a href="https://docs.python.org/2/library/threading.html#threading.Thread.join" rel="nofollow">https://docs.python.org/2/library/threading.html#threading.Thread.join</a>)</p>
<p>您应该使用<code>PySide.QtCore.QThread</code>来利用信号和插槽。
这是一个<a href="https://fabienpn.wordpress.com/2013/05/01/qt-thread-simple-and-stable-with-sources/" rel="nofollow">nice example in C++</a>。我用PyQt<a href="https://github.com/tymoreau/simple-qt-thread" rel="nofollow">here</a>在Python3.4中实现了它,但是您也应该能够在PySide中使用它。在</p>
<p>您可能还需要查看<code>PySide.QtCore.QProcess</code>,以避免使用线程。在</p>