【发布时间】:2017-02-11 12:39:12
【问题描述】:
一年多来,我一直在我的 pyQt 应用程序https://github.com/chipmuenk/pyfda 中寻找一个令人讨厌的退出时崩溃错误,并且偶然发现了它:以下代码 sn-p
self.cmbResponseType = QtGui.QComboBox(self)
self.cmbFilterType = QtGui.QComboBox(self)
self.cmbDesignMethod = QtGui.QComboBox(self)
spacer = QtGui.QSpacerItem(1, 0, QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed)
layHFilWdg = QtGui.QHBoxLayout() # container for filter subwidgets
layHFilWdg.addWidget(self.cmbResponseType)
layHFilWdg.addItem(spacer)
layHFilWdg.addWidget(self.cmbFilterType)
layHFilWdg.addItem(spacer)
layHFilWdg.addWidget(self.cmbDesignMethod)
将三个组合框放置在水平布局框中,它们之间的间距可变。
当我注释掉两个layHFilWdg.addItem(spacer) 指令之一时,该错误消失了(退出时不再崩溃)。我正在使用 python 2.7 ... 3.5 和 pyQt 4.8。
我在应用程序中有很多选项卡式小部件(也有很多其他错误),并且在设计流程中以某种方式抑制错误太久,这就是我花了这么长时间的原因。只有当 matplotlib 画布在一个完全不相关的子小部件中实例化时才会发生崩溃,这只是另一个怪事,让我很长一段时间都在找错误的树......
有人知道上面代码的问题出在哪里吗?
【问题讨论】:
标签: python user-interface crash pyqt