我的PyQt应用程序不再将错误(stderr?)打印到控制台。
我使用QtDesigner并像这样导入UI:
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.uic import loadUiType
Ui_MainWindow, QMainWindow = loadUiType("test.ui")
class Main(QMainWindow, Ui_MainWindow):
"""Main window"""
def __init__(self,parent=None):
super(Main, self).__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.testfunc)
def testfunc(self):
print(9/0)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
test.ui 包含一个 QPushButton 和一个标签。当我在一个非 Qt 应用程序中调用 testfunc(显然会出错)时,我会收到错误消息、回溯等。当我执行这段代码时,它只是退出。
之前我写了一个不使用 QtDesigner 的 PyQt 应用程序,它按预期将错误打印到控制台。那么 QtDesigner 和继承有什么区别呢?