我的一些使用pyqt5的代码遇到了一些问题。
当我的Qt类出错时,控制台不会记录任何关于崩溃原因的信息。
例如,使用以下代码:rom PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys
class SurfViewer(QMainWindow):
def __init__(self, parent=None):
super(SurfViewer, self).__init__()
self.parent = parent
self.centralWidget = QWidget()
self.color = self.centralWidget.palette().color(QPalette.Background)
self.setCentralWidget(self.centralWidget)
self.plotview = QGroupBox(" ")
self.layout_plotview = QVBoxLayout()
self.Button_Crash= QPushButton('Crash!')
self.layout_plotview.addWidget(self.Button_Crash)
self.centralWidget.setLayout(self.layout_plotview)
self.Button_Crash.clicked.connect(self.TestForCrash)
def TestForCrash(self,):
a=b
return
def main():
app = QApplication(sys.argv)
ex = SurfViewer(app)
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
由于b在TestForCrash函数中是未知的,Qt窗口只是退出,但控制台中什么也没有。我想知道他们是否是一种方式,迫使控制台自动打印一些线索发生了什么。在
现在我用tryexcept来绕过这个问题,但我不太喜欢这个想法:
^{pr2}$
他们是另一种不使用tryexcept在控制台中记录一些信息的方法吗?在
正如@three_nppinepples提到的,我在“真正的”windows终端(使用c:\anaconda3)执行脚本时遇到了错误\python.exe)但不是在PyCharm控制台中(当我运行脚本时)。那么,他们是否可以直接在Pycharm中强制错误日志?也许这是我还没找到的选择?在