gpt4 book ai didi

python - 调试 pyQT4 应用程序?

转载 作者:IT老高 更新时间:2023-10-28 21:37:01 26 4
gpt4 key购买 nike

我有一个用 pyqt4 构建的相当简单的应用程序。我想调试连接到我的应用程序中的一个按钮的功能之一。但是,当我执行以下操作时

python -m pdb app.pyw
> break app.pyw:55 # This is where the signal handling function starts.

事情并不像我希望的那样工作。调试器没有中断我设置断点的函数并让我单步执行它,而是进入了一个无限循环,打印出 QCoreApplication::exec: The event loop is already running 我无法输入任何东西。有没有更好的方法来做到这一点?

最佳答案

您需要调用QtCore.pyqtRemoveInputHook .我将它包装在我自己的 set_trace 版本中:

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()

当你完成调试后,你可以调用 QtCore.pyqtRestoreInputHook(),最好还是在 pdb 中,然后在你敲回车后,控制台垃圾邮件正在发生,保持点击“c”(继续),直到应用程序正常恢复。 (由于某种原因,我不得不多次点击'c',它一直回到pdb,但在点击它几次后它恢复正常)

更多信息谷歌“pyqtRemoveInputHook pdb”。 (真的很明显不是吗?;P)

关于python - 调试 pyQT4 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com