对于我的生活我无法弄清楚…按下按钮我有代码:
@QtCore.pyqtSlot(): def buttonPressed(self): d = QtGui.QDialog() d.show()
所有这一切都是一个窗口短暂弹出,没有任何内容,然后消失.反复按下按钮没有帮助.
使用Python 2.6,最新的PyQt4.
解决方法
如果我没有弄错,似乎其他人有一个
similar issue.似乎正在发生的是你定义一个局部变量d并将其初始化为QDialog,然后显示它.问题是,一旦buttonPressed处理程序完成执行,对d的引用就会超出范围,因此垃圾收集器会将其销毁.尝试做self.d = QtGui.QDialog()之类的事情来保持它的范围.