Unsolved Media Player Translucent
-
I have some confusion when using QtMultimedia to implement a simple player
![alt text](image url)
setattribute WA_TranslucentBackground player window translucent ???
mediaPlay code :
class VideoPlayerWidget(QWidget): def __init__(self, parent=None): super(VideoPlayerWidget, self).__init__(parent) self._hide_show_interval = 2000 self._initUi() def _initUi(self): self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self._view = QVideoWidget() self._video_control_widget = VideoControlWidget() lay = QGridLayout() lay.addWidget(self._view, 0, 0, 2, 1) lay.addWidget(self._video_control_widget, 1, 0, 1, 1) lay.setContentsMargins(0, 0, 0, 0) self.setLayout(lay) # Set widget to contain window contents self.mediaPlayer.setVideoOutput(self._view) self.mediaPlayer.positionChanged.connect(self._video_control_widget.update_position) self.mediaPlayer.durationChanged.connect(self._video_control_widget.update_duration) # self.mediaPlayer.error.connect(self.handleError) self._video_control_widget.played.connect(self.init_play) self._video_control_widget.stoped.connect(self.mediaPlayer.stop) self._video_control_widget.seeked.connect(self.mediaPlayer.setPosition) self._video_control_widget.containsCursor.connect(self._set_remain_control_widget_visible) self._timer_init() def loading_media(self, filename): mediaContent = QMediaContent(QUrl.fromLocalFile(filename)) self.mediaPlayer.setMedia(mediaContent) self._video_control_widget.setMedia(filename) self.init_play() return self def _timer_init(self): self._timer = QTimer() self._timer.setInterval(self._hide_show_interval) self._timer.timeout.connect(self._bottom_widget_toggled) def _bottom_widget_toggled(self): self._timer.stop() self._video_control_widget.setVisible(False) def _timer_start(self): self._video_control_widget.setVisible(True) self._timer.start() def enterEvent(self, e): self._timer_start() return super(VideoPlayerWidget, self).enterEvent(e) def mouseMoveEvent(self, e): if self._timer.isActive(): self._timer.setInterval(self._hide_show_interval) else: self._timer_start() return super(VideoPlayerWidget, self).mouseMoveEvent(e) def leaveEvent(self, e): self._video_control_widget.setVisible(False) return super(VideoPlayerWidget, self).leaveEvent(e) def init_play(self): if self.mediaPlayer.mediaStatus == QMediaPlayer.NoMedia: pass elif self.mediaPlayer.state == QMediaPlayer.PlayingState: self.mediaPlayer.pause() else: self.mediaPlayer.play() def _set_remain_control_widget_visible(self, f): if f: self._timer.timeout.disconnect() else: self._timer.timeout.connect(self._bottom_widget_toggled)
I need to turn on the transparent display of the window, how do I need to do it ???