账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    PyQt5在同一个widget1中使用QMediaPlayer与label,label有可能被覆盖的原因
    69
    0

    【问题描述】
    使用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等版本也一致。

    求大佬们指教这样情况可能的原因在哪里?非常感谢!

    1
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部