我在 pyqt5 中嵌入 python vlc 以制作视频播放器。但我遇到一个问题,即当视频开始播放时,它需要整个任务栏缩略图仅显示其视频而不显示窗口屏幕中存在的其他项目。关闭视频后任务栏变成完全空白的白色,不显示任何内容。这是图片示例。1-演奏前
我正在尝试通过
QWinThumbnailToolBar in self.videoframe.showEvent()
这是我的完整代码:
import sys
from PyQt5.QtWidgets import *
from PyQt5 import QtWinExtras
import vlc
class Player(QMainWindow):
"""A simple Media Player using VLC and Qt
"""
def __init__(self, master=None):
QMainWindow.__init__(self, master)
self.setWindowTitle("Media Player")
self.mainframe=QFrame(self)
self.setCentralWidget(self.mainframe)
self.videoframe=QFrame(self.mainframe)
self.videoframe.setGeometry(0,50,600,400)
##Call to set taskbar thumbnail
self.videoframe.showEvent=self.setthumbnail
self.instance = vlc.Instance()
self.player = self.instance.media_player_new()
self.player.set_hwnd(int(self.videoframe.winId()))
self.media = self.instance.media_new('C:/Users/mishra/Downloads/Video/kyakar.mp4')
self.player.set_media(self.media)
button=QPushButton('Play',self)
button.setStyleSheet('background:red')
button.setGeometry(100,0,40,30)
button.clicked.connect(lambda:[self.videoframe.show(),self.player.play()])
button1=QPushButton('Close',self)
button1.setStyleSheet('background:green')
button1.setGeometry(200,0,40,30)
button1.clicked.connect(self.onclose)
def onclose(self):
if self.player:
self.player.stop()
self.videoframe.hide()
def setthumbnail(self,event):
print('Shown')
self.thumbbar =QtWinExtras.QWinThumbnailToolBar(self)
self.thumbbar.setWindow(self.windowHandle())
if __name__ == "__main__":
app = QApplication(sys.argv)
player = Player()
player.show()
player.resize(600, 450)
sys.exit(app.exec_())
有没有办法做到这一点?