| 26 | class ImageSliderWidget(QWidget, Ui_Form): |
| 27 | |
| 28 | def __init__(self, *args, **kwargs): |
| 29 | super(ImageSliderWidget, self).__init__(*args, **kwargs) |
| 30 | self.setupUi(self) |
| 31 | # 初始化动画曲线类型 |
| 32 | curve_types = [(n, c) for n, c in QEasingCurve.__dict__.items() |
| 33 | if isinstance(c, QEasingCurve.Type)] |
| 34 | curve_types.sort(key=lambda ct: ct[1]) |
| 35 | curve_types = [c[0] for c in curve_types] |
| 36 | self.comboBoxEasing.addItems(curve_types) |
| 37 | |
| 38 | # 绑定信号槽 |
| 39 | self.spinBoxSpeed.valueChanged.connect(self.stackedWidget.setSpeed) |
| 40 | self.comboBoxEasing.currentTextChanged.connect(self.setEasing) |
| 41 | self.radioButtonHor.toggled.connect(self.setOrientation) |
| 42 | self.radioButtonVer.toggled.connect(self.setOrientation) |
| 43 | self.pushButtonPrev.clicked.connect(self.stackedWidget.slideInPrev) |
| 44 | self.pushButtonNext.clicked.connect(self.stackedWidget.slideInNext) |
| 45 | self.pushButtonStart.clicked.connect(self.autoStart) |
| 46 | self.pushButtonStop.clicked.connect(self.autoStop) |
| 47 | |
| 48 | # 添加图片页面 |
| 49 | for name in os.listdir('Data/Images'): |
| 50 | label = QLabel(self.stackedWidget) |
| 51 | label.setScaledContents(True) |
| 52 | label.setPixmap(QPixmap('Data/Images/' + name)) |
| 53 | self.stackedWidget.addWidget(label) |
| 54 | |
| 55 | def autoStart(self): |
| 56 | self.pushButtonNext.setEnabled(False) |