QCamera 取景器:如果有父项则不显示 window
QCamera Viewfinder: not shown if has a parent window
我正在尝试使用 PyQt5 中的 QCameraViewfinder
查看相机流。问题描述起来很简单:如果取景器没有parent,我可以看到,如果我设置了一个widget作为parent,我就看不到了。
此代码有效(我可以看到 window 与来自相机的流):
app = QApplication(sys.argv)
cam = QCamera()
vf = QCameraViewfinder()
cam.setViewfinder(vf)
vf.show()
cam.start()
app.exec_()
这不起作用(window 保持灰色):
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_()
我正在尝试使用 PyQt5 中的 QCameraViewfinder
查看相机流。问题描述起来很简单:如果取景器没有parent,我可以看到,如果我设置了一个widget作为parent,我就看不到了。
此代码有效(我可以看到 window 与来自相机的流):
app = QApplication(sys.argv)
cam = QCamera()
vf = QCameraViewfinder()
cam.setViewfinder(vf)
vf.show()
cam.start()
app.exec_()
这不起作用(window 保持灰色):
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_()