PyQt5 QPropertyAnimation finished() 如何连接

问题描述 投票:0回答:1

本质上,我试图在动画完成后关闭一个窗口。 在我看过的所有文档和示例中,它们都位于:

  • C++
  • 含糊的“方法定义”
  • 旧式插槽和连接器

我如何访问动画结束时“应该”调用的 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()”方法

python qt pyqt pyqt5
1个回答
3
投票

我用错了

finished
,下面是它应该如何使用:

self.anim.finished.connect(self.someMethod)
def someMethod(self):
window.destroy

我希望这对将来的人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.