如何在PyQtGraph中启用回溯的控制台打印

时间:2015-06-24 22:42:51

标签: python pyqt pyside pyqtgraph

pyqtgraph中是否有一种首选方法可以将其配置为将错误转储到终端?

在处理示例脚本https://github.com/pyqtgraph/pyqtgraph/blob/develop/examples/FlowchartCustomNode.py时,我以一种在UnsharpMaskNode.process中留下缺陷的方式对其进行了调整。没有回溯所以我在UnsharpMaskNode父类'Node.update方法中的https://github.com/pyqtgraph/pyqtgraph/blob/develop/pyqtgraph/flowchart/Node.py中跟踪错误处理回到315行,其中错误是由try try / except吞下的。我取消注释了pyqtgraph开发人员对printExc的调用,除了块,是的,打印,但我希望找到一个构造函数标志,一个set方法,一个DEBUG const,任何有条件地指示回溯应该开球的东西到stderr。

例如,如下所示在方法UnsharpMaskNode.process中添加RuntimeError并执行脚本。将看不到异常,但在GUI中,相应的ImageViewNode将不显示图像,隐式指示失败。

def process(self, dataIn, display=True):
    # CtrlNode has created self.ctrls, which is a dict containing {ctrlName: widget}
    sigma = self.ctrls['sigma'].value()
    strength = self.ctrls['strength'].value()
    raise RuntimeError('This will silently fail')
    output = dataIn - (strength * pg.gaussianFilter(dataIn, (sigma,sigma)))
    return {'dataOut': output}

0 个答案:

没有答案