为了账号安全,请及时绑定邮箱和手机立即绑定

PyQt5在同一个widget1中使用QMediaPlayer与label,label有可能被覆盖的原因

PyQt5在同一个widget1中使用QMediaPlayer与label,label有可能被覆盖的原因

哈士奇WWW 2019-02-17 12:39:36
【问题描述】使用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等版本也一致。 求大佬们指教这样情况可能的原因在哪里?非常感谢!
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

检查发现pyqt5的版本不一致,将公共电脑上的倒退回5.9.2后正常了...感谢大家的解答

查看完整回答
反对 回复 2019-03-01
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

1.windows 上python32和64位是有差别的
2.window10 系统bug很多 再换台试试

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1406 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信