Qt 如何在标签上设置QCamera

Qt 如何在标签上设置QCamera,qt,camera,label,qgraphicsview,Qt,Camera,Label,Qgraphicsview,我决定不使用OpenCV。我将使用QCamera类。到目前为止,一切都很顺利。我可以随时随地捕获和保存图像,但问题是如何将相机设置为标签或图形视图 我是说,看看现在发生了什么。当我做无限循环时,一切都崩溃了。写下你所知道的任何信息,因为没有关于如何做到这一点的例子,否则我就是看不见。如果您可以编写一些源代码。使用qCameraviveFinder或QVideoWidgetwidgets(docs-)实现此目的,下面是您的示例: #include <QCameraViewfinder>

我决定不使用OpenCV。我将使用QCamera类。到目前为止,一切都很顺利。我可以随时随地捕获和保存图像,但问题是如何将相机设置为标签或图形视图


我是说,看看现在发生了什么。当我做无限循环时,一切都崩溃了。写下你所知道的任何信息,因为没有关于如何做到这一点的例子,否则我就是看不见。如果您可以编写一些源代码。

使用
qCameraviveFinder
QVideoWidget
widgets(docs-)实现此目的,下面是您的示例:

#include <QCameraViewfinder>

// .......   
QCamera *camera=new QCamera(this);
QCameraViewfinder *viewfinder = new QCameraViewfinder(this);
viewfinder->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
camera->setViewfinder(viewfinder);

setCentralWidget(viewfinder);
//viewfinder->show();

camera->start(); // to start the viewfinder
#包括
// .......   
QCamera*摄像机=新的QCamera(本);
QCameraViewfinder*取景器=新的QCameraViewfinder(此);
取景器->设置SizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
照相机->设置取景器(取景器);
setCentralWidget(取景器);
//取景器->显示();
摄影机->开始();//启动取景器
注意:您需要将此配置添加到*、pro文件中才能使用它们:
QT+=multimedia multimediawidgets

如果您想要一个更低级的小部件(以您喜欢的方式处理每一帧(人脸检测等),子类
QAbstractVideoSurface
,docs-
或者尝试连接到
QVideoProbe
class(docs-),虽然我自己做不到,但我想这门课有点实验性,不起作用

“写下你知道的任何信息”…呃,考虑到成千上万的SO用户和人类拥有的平均知识量,这将需要一段时间…请显示您拥有的代码中“崩溃”的相关部分,并准确解释“崩溃”的含义(您看到的行为),以便人们可以帮您修复它。无效对话框::打开按钮\u单击()//开始捕获{camera->start();而(1){camera->searchAndLock();imageCapture->capture(imagePath);ui->label->setPixmap(QPixmap(imagePath));camera->unlock();}不要在Qt中使用无限循环。请改用事件。这很可能是您需要的。@user2521257:请在文章中添加代码。(注意将其格式化为代码,请阅读编辑器帮助以获取指导。)永远不要在评论中发布代码,它是不可读的。谢谢你们所有人的帮助。我会看看我现在能做什么。Roku我现在不太确定在QT中使用无限循环是否有问题,但现在我知道了。QT中的无限循环总是有问题。Shf,谢谢你们的回答。我以前听说过QCameraViewFinder,但我没有读过什么都行。现在我来看看我能用它做些什么。Thanks@user2521257很高兴能提供帮助,如果它解决了你的问题,请投票并接受。今天之后,我的相机问题完全解决了。没有问题了。现在我将继续我的GUI项目,感谢你们所有人。1-2个月后,我将开始搜索如何编写打印机驱动器不过,再次谢谢你