【发布时间】:2016-02-17 15:16:25
【问题描述】:
我的 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和继承有什么区别?
【问题讨论】:
-
您是使用预编译的二进制文件安装 PyQt,还是自己编译?
-
我使用了这个预编译的 64 位二进制文件:riverbankcomputing.com/software/pyqt/download5
-
我想这就是问题所在。我遇到了同样的问题,所以我从源代码重新安装了 PyQt5,使用 mingw32 编译它,现在一切正常。
-
我在编译它时遇到了麻烦,所以我只是回滚到早期版本(5.4.1 而不是 5.5.1)。这成功了。错误消息又回来了,我可以正确调试我的应用程序。谢谢!
-
@Jannis 如何回滚到以前的版本?在哪里可以找到这些?
标签: python python-3.x pyqt pyqt5 qt-designer