本质上,我试图在动画完成后关闭一个窗口。 在我看过的所有文档和示例中,它们都在:
如何在动画结束时访问“应该”调用的finished()?
self.anim = QtCore.QPropertyAnimation(window, b"windowOpacity"
self.anim.setStartValue(1)
self.anim.setEndValue(0)
self.anim.setDuration(3000)
#self.anim.finished.connect() does not exist
#QtCore.QObject.connect(stuff) is deprecated
#self.anim.finished(window.destroy) destroys window immediately
在我正在阅读的所有示例中,他们使用第一个注释掉的方法,但编译器抱怨'已完成'没有'connect()'方法
答案 0 :(得分:0)
每次都是...... EVERY。时间。 我找了几个小时的答案,并在发布求助后立即找到答案。
注释掉方法#1是正确的,但是你不能在window.destroy之类的connect()方法中做一个特定的动作。
正确的方法:`
self.anim.finished.connect(self.someMethod)
def someMethod(self):
window.destroy
什么让我失望的是; IDE没有为finished.connect()提供代码完成建议(实际上与button.clicked.connect()相同)
这就是我认为过分依赖IDE的原因。希望这能帮助将来的某个人。