pyqtplayer.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:pyplaybin 作者: fraca7 项目源码 文件源码
def _setup(self, filename):
        self._viewport = Viewport(self, filename)
        self._viewport.geometry_changed.connect(self._recenter)
        self._viewport.playback_stopped.connect(self._playback_stopped)
        self._isPlaying = True
        self._hideTimer = None
        yield from self._viewport.start_playing(filename)

        toolbar = QtWidgets.QToolBar(self)
        toolbar.setStyleSheet('QToolBar { background-color : rgba(255,255,255,100) ; color:white; border-color: transparent;} QToolButton{background-color : transparent;}')

        rewind = toolbar.addAction(QtGui.QIcon('../icons/rewind.svg'), 'Rewind')
        rewind.triggered.connect(self._rewind)

        self._playPause = toolbar.addAction(QtGui.QIcon('../icons/pause.svg'), 'Play/pause')
        self._playPause.triggered.connect(self._toggle_play_state)

        stop = toolbar.addAction(QtGui.QIcon('../icons/stop.svg'), 'Stop')
        stop.triggered.connect(self._stop_playback)

        forward = toolbar.addAction(QtGui.QIcon('../icons/forward.svg'), 'Forward')
        forward.triggered.connect(self._forward)

        for cls in [SubtitleSelectionAction, AudioSelectionAction]:
            action = cls(self._viewport.playbin, self)
            toolbar.addAction(action)
            btn = toolbar.widgetForAction(action)
            btn.setPopupMode(btn.InstantPopup)
            action.populate()

        self._seeker = SeekSlider(self._viewport.playbin, self)

        volume = QtWidgets.QSlider(QtCore.Qt.Horizontal)
        volume.setMinimum(0)
        volume.setMaximum(100)
        volume.setValue(int(100 * self._viewport.playbin.volume))
        volume.valueChanged.connect(self.changeVolume)
        volume.setFixedWidth(100)

        vlayout = QtWidgets.QVBoxLayout()
        vlayout.setContentsMargins(3, 3, 3, 3)
        vlayout.setSpacing(2)
        hlayout = QtWidgets.QHBoxLayout()
        hlayout.setContentsMargins(0, 0, 0, 0)
        hlayout.addWidget(self._seeker.elapsedWidget())
        hlayout.addWidget(toolbar, stretch=1)
        hlayout.addWidget(self._seeker.remainingWidget())
        vlayout.addLayout(hlayout)
        hlayout = QtWidgets.QHBoxLayout()
        vol = QtWidgets.QLabel('')
        vol.setPixmap(QtGui.QIcon('../icons/volume.svg').pixmap(24, 24))
        hlayout.addWidget(vol)
        hlayout.addWidget(volume)
        hlayout.addWidget(self._seeker, stretch=1)
        vlayout.addLayout(hlayout)
        self.setLayout(vlayout)

        self._recenter()
        self.show()
        self.startHiding()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号