【发布时间】:2017-03-20 07:22:32
【问题描述】:
我使用 python3.5.2 和 PyQt4。
我正在使用 PyQt 连接和使用 .ocx。
from PyQt4.QAxContainer import QAxWidget
if __name__ == "__main__":
app = QApplication(sys.argv)
while True:
# run some codes that use QAxWidget.dynamicCall() function
# print some results
sleep(30)
睡眠并返回主代码后,我得到“进程完成,退出代码 -1073740771 (0xC000041D)”
我尝试使用 try...except... 子句,但无法捕获错误。
我应该推测什么问题?
如何调试?
编辑:
崩溃报告:
程序名称:python.exe,版本:3.5.1150.1013,时间戳:0x576eff6a
模块名称:QAxContainer.pyd,版本:0.0.0.0,时间戳:0x56123368
异常代码:0xc000041d
错误偏移:0x00013301
进程 ID:0x4d24
EDIT2:
如果我将 sleep(30) 设置为 sleep(10),它可以正常工作而不会崩溃。
【问题讨论】:
-
我想问题是,如果你使用
time.sleep(30),你的程序会在半分钟内保持无响应,这样Windows就会怀疑它已经崩溃并终止进程。为什么需要这种睡眠?一个好的经验法则如下:永远不要在 pyqt 应用程序中使用time.sleep()。
标签: python pyqt pyqt4 python-3.5