PySide2 nasıl sayfa geçiş efekti yaparım

from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QStackedWidget, QLabel, QSizePolicy, QSpacerItem, QFrame
from PyQt5.QtCore import Qt, QPropertyAnimation, QRect
class MyMainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.stacked_widget = QStackedWidget()
        self.page1 = QWidget()
        self.page2 = QWidget()

        self.setup_ui()

    def setup_ui(self):

        # page 1
        label1 = QLabel("Page 1")
        label1.setAlignment(Qt.AlignCenter)
        label1.setStyleSheet("font-size: 30px;")
        label1.setFixedSize(400, 300)

        page1_layout = QVBoxLayout()
        page1_layout.addWidget(label1)
        page1_layout.addSpacerItem(QSpacerItem(0, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))
        button = QPushButton("Go to Page 2")
        button.setStyleSheet("font-size: 20px;")
        button.clicked.connect(self.animate)
        page1_layout.addWidget(button)
        page1_layout.addSpacerItem(QSpacerItem(0, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))
        page1_layout.setAlignment(Qt.AlignCenter)
        self.page1.setLayout(page1_layout)

        # page 2
        label2 = QLabel("Page 2")
        label2.setAlignment(Qt.AlignCenter)
        label2.setStyleSheet("font-size: 30px;")
        label2.setFixedSize(400, 300)

        page2_layout = QVBoxLayout()
        page2_layout.addWidget(label2)
        page2_layout.addSpacerItem(QSpacerItem(0, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))
        button = QPushButton("Go to Page 1")
        button.setStyleSheet("font-size: 20px;")
        button.clicked.connect(self.animate)
        page2_layout.addWidget(button)
        page2_layout.addSpacerItem(QSpacerItem(0, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))
        page2_layout.setAlignment(Qt.AlignCenter)
        self.page2.setLayout(page2_layout)

        # stacked widget
        self.stacked_widget.addWidget(self.page1)
        self.stacked_widget.addWidget(self.page2)
        self.setCentralWidget(self.stacked_widget)

        self.setGeometry(100, 100, 400, 300)
        self.setWindowTitle("Stacked Widget Animation")
        self.show()

    def animate(self):
        if self.stacked_widget.currentIndex() == 0:
            self.anim = QPropertyAnimation(self.stacked_widget, b"geometry")
            self.anim.setDuration(150)
            self.anim.setStartValue(self.stacked_widget.geometry())
            self.anim.setEndValue(self.stacked_widget.geometry().translated(-400, 0))
            self.anim.finished.connect(self.change_page)
            self.anim.start()

        elif self.stacked_widget.currentIndex() == 1:
            self.anim = QPropertyAnimation(self.stacked_widget, b"geometry")
            self.anim.setDuration(150)
            self.anim.setStartValue(self.stacked_widget.geometry())
            self.anim.setEndValue(self.stacked_widget.geometry().translated(400, 0))
            self.anim.finished.connect(self.change_page)
            self.anim.start()

    def change_page(self):
        index = self.stacked_widget.currentIndex()
        if index == 0:
            self.stacked_widget.setCurrentIndex(1)
        else:
            self.stacked_widget.setCurrentIndex(0)

app= QApplication([])
win = MyMainWindow()
app.exec_()

Bunu deniyorum da bu önce gri sayfaya geçiyor sonra benim sayfama geçiyor gibi duruyor ben öyle durmasın istiyorum nasıl yaparım