PyQt5在同一个widget1中使用QMediaPlayer与label,label有可能被覆盖的原因
【问题描述】
使用pyqt5开发图形界面,需要在窗口里的相同位置显示视频与图片,即视频播放完后显示一张图片,我的想法是构建一个widget,该widgt作为QMediaPlayer的VedioOutput,再创建一个label作为widget的子控件,等播放完视频后再插入图片。代码如下:
# 控件初始化
self.widget1 = QtMultimediaWidgets.QVideoWidget(self.centralwidget)
self.widget1.setMinimumSize(QtCore.QSize(480, 400))
self.widget1.setAutoFillBackground(False)
self.widget1.setObjectName("widget1")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget1)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.img = QtWidgets.QLabel(self.widget1)
self.img.setMinimumSize(QtCore.QSize(704, 396))
self.img.setText("")
self.img.setScaledContents(True)
self.img.setObjectName("img")
self.horizontalLayout_2.addWidget(self.img)
...
# 设置流
self.mediaPlayer = QtMultimedia.QMediaPlayer(None, QtMultimedia.QMediaPlayer.VideoSurface)
self.mediaPlayer.setVideoOutput(self.widget1)
self.mediaPlayer.setNotifyInterval(1000)
self.widget1.show()
...
# 设置图像
self.image = QtGui.QPixmap(path)
self.img.setPixmap(self.image)
self.img.show()
在我本地电脑跑,播放完视频后是能出现图片的,但神奇的是我移到公共电脑之后,图像就会被视频覆盖,始终是黑屏无法显示,raise方法已经试过,没有效果。而本地电脑与公共电脑都是WIN10系统,python等版本也一致。
求大佬们指教这样情况可能的原因在哪里?非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
检查发现pyqt5的版本不一致,将公共电脑上的倒退回5.9.2后正常了...感谢大家的解答
1.windows 上python32和64位是有差别的
2.window10 系统bug很多 再换台试试