栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用PySide在QLabel中显示视频流

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用PySide在QLabel中显示视频流

供以后参考,这是我如何使它工作的方法。

使用信号和插槽机制,以下应用程序可以工作。信号/插槽机制似乎弄清楚了在up_camera_callback函数内部创建并发送到CameraDisplay.updateframe函数的图像来自其他线程,并采取了必要的预防措施。

class CameraDisplay(QtGui.QLabel):  def __init__(self):    super(CameraDisplay, self).__init__()  def updateframe(self, image):    self.setPixmap(QtGui.QPixmap.fromImage(image))class ControlCenter(QtGui.QWidget):  up_camera_signal = QtCore.Signal(QtGui.QImage)  up_camera = None  def __init__(self):    super(ControlCenter, self).__init__()    self.up_camera = CameraDisplay()    self.up_camera_signal.connect(self.up_camera.updateframe)    grid = QtGui.QGridLayout()    grid.setSpacing(10)    grid.addWidget(self.up_camera, 0, 0)    self.setLayout(grid)    self.setGeometry(300, 300, 350, 300)    self.setWindowTitle('Control Center')    self.show()  def up_camera_callback(self, data):    '''This function gets called by an external thread'''    try:      image = QtGui.QImage(data.data, data.width, data.height, QtGui.QImage.Format_RGB888)      self.up_camera_signal.emit(image)    except Exception, e:      print(e)if __name__ == "__main__":  app = QtGui.QApplication(sys.argv)  ex = ControlCenter()  sys.exit(app.exec_())


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号