gpt4 book ai didi

python - eclipse(pydev) 中的 pyqt5 代码遇到异常时回溯丢失

转载 作者:行者123 更新时间:2023-11-30 22:35:42 31 4
gpt4 key购买 nike

这可能是对过去一年未得到解答的问题的轻微重复,但我希望我可以提供更多信息并看到它的答案。

问题是,一旦代码进入 PyQt5 的循环,任何崩溃都无法导致回溯显示在控制台或我知道的任何其他地方,但是如果只是从命令行使用与 Eclipse 使用完全相同的命令。

在单独的计算机上全新安装所有列出的组件后确认问题。

构建环境:
eclipse neon 4.6.3 - 64 位 Java
pydev 5.8
python 3.6.1 64 或 32 位版本
PyQt 5.8.2 - 通过 pip3 安装

这是一个完整的微程序,它演示了这个问题,如果我从命令行运行它并单击按钮,我会得到一个回溯,但如果程序运行,并且从 eclipse 中按下按钮,我不会得到回溯。

from PyQt5 import QtWidgets
import sys

class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.btn = QtWidgets.QPushButton('text', self)
self.btn.clicked.connect(self.handleButton)

def handleButton(self):
error_trigger


if __name__ == '__main__':
print ("Start")
app = QtWidgets.QApplication(sys.argv)
#error_trigger
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())

有人知道任何已知问题或会导致此行为的配置选项吗?

最佳答案

在互联网上随机浏览了很多次,但最终找到了解决该问题所需的代码,发布在这里供其他有相同问题的人引用。当我最终找到它时很明显。 ;)

from PyQt5 import QtCore
import traceback, sys


if QtCore.QT_VERSION >= 0x50501:
def excepthook(type_, value, traceback_):
traceback.print_exception(type_, value, traceback_)
QtCore.qFatal('')
sys.excepthook = excepthook

希望这对其他人有帮助。

关于python - eclipse(pydev) 中的 pyqt5 代码遇到异常时回溯丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44447674/

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