赞
踩
添加头文件
- //摄像头
- #include <QCameraImageCapture>
- #include <QCamera>
在private中创建两个摄像头对象
- //创建两个摄像头对象
- QCamera *ca;
- QCameraImageCapture *capture;
添加头文件
- //调用摄像头
- #include <QCameraInfo>
- #include <QCamera>
- #include <QCameraViewfinder>
- #include <QCameraImageCapture>
- #include <QPixmap>
- //弹窗
- #include <QMessageBox>
编写调用摄像头代码
- //获取可用摄像头设备并输出在控制台
- QList<QCameraInfo> infos = QCameraInfo::availableCameras();
- qDebug() << infos.value(0).deviceName() << ":" <<infos.value(0).description();
- QString camera = infos.value(0).deviceName();
- qDebug() << camera;
- //显示摄像头
- ca =new QCamera(camera.toUtf8() ,this );
- ui->camera->show();
-
- QCameraViewfinder *v2 = new QCameraViewfinder(ui->camera);
- v2->resize(ui->camera->size());
- ca->setViewfinder(v2);
- v2->show();
- ca->start();
编写点击按钮时的拍照代码
- //截取用户打卡时的图片
- capture = new QCameraImageCapture(ca);
- capture->capture("E://你的文件夹//命名.jpg");
- QMessageBox::information(this, "good", "good!");
解决方法:每次截图时加上时间做以区分,代码如下
添加头文件
#include <QDateTime>
将点击事件函数改为如下格式
- void MainWindow::on_pushButton_clicked()
- {
-
- //截取用户打卡时的图片
- capture = new QCameraImageCapture(ca);
- QDateTime time = QDateTime::currentDateTime();//获取当前时间
- QString nameseed = time.toString("yy-MM-dd hh-mm-ss");//将当前时间格式化,注意:时分秒之间不能用:连接,因为文件命名时不可以使用:
- capture->capture("E://RuanJianGongCheng//capture//"+ nameseed +".jpg");
- QMessageBox::information(this, "good", "good!!!");
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。