QCamera取景器:如果有父窗口,则不显示



我试图在PyQt5中使用QCameraViewfinder查看摄像机流。这个问题很容易描述:如果取景器没有父组件,我可以看到它,如果我将一个小部件设置为父组件,我就看不到它。

这段代码工作了(我可以看到一个窗口的流从相机):

app = QApplication(sys.argv)
cam = QCamera()
vf = QCameraViewfinder()
cam.setViewfinder(vf)
vf.show()
cam.start()
app.exec_()

这个不工作(窗口仍然是灰色):

app = QApplication(sys.argv)
wid = QWidget()
cam = QCamera()
vf = QCameraViewfinder(wid)
cam.start()
cam.setViewfinder(vf)
wid.show()
app.exec_()

我读了文档,但是我没有找到任何与此相关的东西,可能我错过了什么。

发生了什么事?

您的代码在cam.start之前设置cam.viewfinder并为小部件和取景器设置setGeometry()后工作,例如:

app = QApplication(sys.argv)
wid = QWidget()
wid.setGeometry(20,200,700,600)
cam = QCamera()
vf = QCameraViewfinder(wid)
vf.setGeometry(50,50,600,550)
cam.setViewfinder(vf)
cam.start()
wid.show()
app.exec_()

相关内容

  • 没有找到相关文章

最新更新