コード例 #1
0
class PlaymodeSwitchLabel(QLabel):

    def __init__(self, parent=None):
        super().__init__(parent)

        self._player = Player()

        self.resize(15, 15)

        self._current_mode = self._player.playlist().playbackMode()
        self._set_mode()

    def _set_mode(self):
        if self._current_mode == 1:
            self.setPixmap(QPixmap(ICON_PATH + "single_repeat.png").scaled(self.size()))
        elif self._current_mode == 3:
            self.setPixmap(QPixmap(ICON_PATH + "repeat.png").scaled(self.size()))
        elif self._current_mode == 4:
            self.setPixmap(QPixmap(ICON_PATH + "random.png").scaled(self.size()))

    def _switch_mode(self):
        if self._current_mode == 4:
            self._current_mode = 1
        elif self._current_mode == 1:
            self._current_mode = 3
        elif self._current_mode == 3:
            self._current_mode = 4
        self._set_mode()
        self._player.set_play_mode(self._current_mode)

    @pyqtSlot(QMediaPlaylist.PlaybackMode)
    def on_mode_changed(self, mode):
        if mode != self._current_mode:
            self._current_mode = mode
            self._switch_mode()

    def mousePressEvent(self, event):
        self._switch_mode()
コード例 #2
0
ファイル: playmode_switch.py プロジェクト: whuhenry/FeelUOwn
class PlaymodeSwitchLabel(QLabel):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.player = Player()
        self.resize(15, 15)
        self._current_mode = self.player.playback_mode
        self._set_mode()

    def _set_mode(self):
        if self._current_mode == 1:
            self.setPixmap(
                QPixmap(ICON_PATH + "single_repeat.png").scaled(self.size()))
        elif self._current_mode == 3:
            self.setPixmap(
                QPixmap(ICON_PATH + "repeat.png").scaled(self.size()))
        elif self._current_mode == 4:
            self.setPixmap(
                QPixmap(ICON_PATH + "random.png").scaled(self.size()))

    def _switch_mode(self):
        if self._current_mode == 4:
            self._current_mode = 1
        elif self._current_mode == 1:
            self._current_mode = 3
        elif self._current_mode == 3:
            self._current_mode = 4
        self._set_mode()
        self.player.set_play_mode(self._current_mode)

    @pyqtSlot(int)
    def on_mode_changed(self, mode):
        if mode != self._current_mode:
            self._current_mode = mode
            self._switch_mode()

    def mousePressEvent(self, event):
        self._switch_mode()