动画结束后如何去除标签
how to remove label after animation finished
def make_frame(self):
label_name = QLabel(self)
label_name.setGeometry(20, 630, 40, 30)
label_name.setStyleSheet("background-color: rgb(233, 94, 25); ""border : 2px solid black; ")
label_name.setAlignment(Qt.AlignCenter)
label_name.show()
return label_name
def animation(self):
self.label = self.make_frame()
self.anim = QPropertyAnimation(self.label, b"geometry", parent=self, duration=3000)
self.anim.setEndValue(QRect(120, 630, 40, 30))
self.anim.start()
一种可能的解决方案是使用动画的完成信号来调用 deleteLater() 方法。
def animation(self):
label = self.make_frame()
anim = QPropertyAnimation(label, b"geometry", parent=self, duration=3000)
anim.setEndValue(QRect(120, 630, 40, 30))
anim.finished.connect(label.deleteLater)
anim.start()
def make_frame(self):
label_name = QLabel(self)
label_name.setGeometry(20, 630, 40, 30)
label_name.setStyleSheet("background-color: rgb(233, 94, 25); ""border : 2px solid black; ")
label_name.setAlignment(Qt.AlignCenter)
label_name.show()
return label_name
def animation(self):
self.label = self.make_frame()
self.anim = QPropertyAnimation(self.label, b"geometry", parent=self, duration=3000)
self.anim.setEndValue(QRect(120, 630, 40, 30))
self.anim.start()
一种可能的解决方案是使用动画的完成信号来调用 deleteLater() 方法。
def animation(self):
label = self.make_frame()
anim = QPropertyAnimation(label, b"geometry", parent=self, duration=3000)
anim.setEndValue(QRect(120, 630, 40, 30))
anim.finished.connect(label.deleteLater)
anim.start()