def prev(self): self_width = self.width() self._anim_grp = QParallelAnimationGroup() if self._current_index == 0: distance = self_width * (len(self._widgets) - 1) for window in self._widgets: self.animateWidget(window, distance, direction=self.LEFT) self._current_index = len(self._widgets) - 1 else: for window in self._widgets: self.animateWidget(window, self_width, direction=self.RIGHT) self._current_index -= 1 self._anim_grp.start() self.window_changed.emit(self._current_index)
def prevImage(self): self_width = self.width() self._anim_grp = QParallelAnimationGroup() if self._cur_widget_index == 0: distance = self_width * (len(self._image_widgets) - 1) for image_widget in self._image_widgets: self.animateWidget(image_widget, distance, direction=self.LEFT) self._cur_widget_index = len(self._image_widgets) - 1 else: for image_widget in self._image_widgets: self.animateWidget(image_widget, self_width, direction=self.RIGHT) self._cur_widget_index -= 1 self._anim_grp.start()
def testBasic(self): self.machine = QStateMachine() s1 = QState() s2 = QState() s3 = QFinalState() QObject.connect(self.machine, SIGNAL("started()"), self.cb) self.anim = QParallelAnimationGroup() self.machine.addState(s1) self.machine.addState(s2) self.machine.addState(s3) self.machine.setInitialState(s1) self.machine.addDefaultAnimation(self.anim) self.machine.start() QTimer.singleShot(100, self.app.quit) self.app.exec_()