Почему моя программа вылетает после анимации на PyQt5
Я сделал не большую анимацию на PyQt5. И мне нужно было чтобы при окончании анимации программа открыла другое окно. Но почему-то при завершении анимации программа завершается.
main.py
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from creator import *
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowFlags(Qt.WindowType.Window | Qt.WindowType.FramelessWindowHint)
self.setWindowTitle("PANDA")
self.resize(300, 300)
self.setWindowOpacity(0.1)
pixmap1 = QPixmap('back3.png')
pal = self.palette()
pal.setBrush(QPalette.ColorGroup.Normal, QPalette.ColorRole.Window,
QBrush(pixmap1))
pal.setBrush(QPalette.ColorGroup.Inactive,
QPalette.ColorRole.Window, QBrush(pixmap1))
self.setPalette(pal)
self.setMask(pixmap1.mask())
box = QHBoxLayout()
lbl = QLabel("Panda ", self)
lbl.setFixedSize(90, 30)
font = QFont("Tahoma", 25)
lbl.setFont(font)
#btn.clicked.connect(QApplication.instance().quit)
box.addWidget(lbl)
self.setLayout(box)
self.animation = QPropertyAnimation(self, b'windowOpacity')
self.animation.setDuration(1000)
self.animation.stop()
self.animation.finished.connect(self.anim)
self.animation.setStartValue(0)
self.animation.setEndValue(1)
self.animation.start()
def anim(self):
self.animation.stop()
self.animation.finished.connect(self.close)
self.animation.setStartValue(1)
self.animation.setEndValue(0)
self.animation.start()
self.running()
def running(self):
cre_win = Creator_Widget()
cre_win.show()
class Creator_Widget(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Panda studio")
if __name__ == "__main__":
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec())
Источник: Stack Overflow на русском