擅长:python、mysql、java
<p>你需要打电话给<a href="http://www.mail-archive.com/pyqt@riverbankcomputing.com/msg13112.html" rel="noreferrer">QtCore.pyqtRemoveInputHook</a>。我用自己的<code>set_trace</code>版本包装它:</p>
<pre><code>def debug_trace():
'''Set a tracepoint in the Python debugger that works with Qt'''
from PyQt4.QtCore import pyqtRemoveInputHook
# Or for Qt5
#from PyQt5.QtCore import pyqtRemoveInputHook
from pdb import set_trace
pyqtRemoveInputHook()
set_trace()
</code></pre>
<p>当你完成调试后,你可以调用<code>QtCore.pyqtRestoreInputHook()</code>,最好是在你还在pdb中的时候,然后在你点击enter之后,控制台出现垃圾邮件,继续点击'c'(继续)直到应用程序恢复正常。(由于某种原因,我不得不打了几次'c',它一直回到pdb,但打了几次之后,它恢复正常)</p>
<p>有关更多信息,请访问Google“pyqtRemoveInputHook pdb”。(很明显不是吗?;页)</p>