C++ QT 链接电脑摄像头 代码问题

87次阅读

共计 1995 个字符,预计需要花费 5 分钟才能阅读完成。

  1. #include “mainwindow.h”
  2. #include “ui_mainwindow.h”
  3. MainWindow::MainWindow(QWidget *parent)
  4.     : QMainWindow(parent)
  5.     , ui(new Ui::MainWindow)
  6. {
  7.     ui->setupUi(this);
  8.     camera=new QCamera(“@device:pnp:\?\usb#vid_0edc&pid_2076&mi_00#6&3455a94a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global”,this);
  9.     viewfinder=new QCameraViewfinder(this);
  10.     imageCapture=new QCameraImageCapture(camera);
  11.     ui->horizontalLayout_View->addWidget(viewfinder);
  12.     ui->label_Display->setScaledContents(true);
  13.     camera->setViewfinder(viewfinder);
  14.     camera->start();
  15.     connect(imageCapture, SIGNAL(imageCaptured(int,QImage)), this, SLOT(displayImage(int,QImage)));
  16.     connect(ui->pushButton_Capture, SIGNAL(clicked()), this, SLOT(captureImage())); //**
  17.     connect(ui->pushButton_Save, SIGNAL(clicked()), this, SLOT(saveImage())); //***
  18.     connect(ui->pushButton_Quit, SIGNAL(clicked()), qApp, SLOT(quit())); //***
  19. }
  20. MainWindow::~MainWindow()
  21. {
  22.     delete ui;
  23. }
  24. void MainWindow::captureImage()
  25. {
  26. ui->statusbar->showMessage(tr(“ 正在捕获图片 ”), 1000);
  27. imageCapture->capture();
  28. }
  29. void MainWindow::displayImage(int , QImage image)
  30. {
  31. ui->label_Display->setPixmap(QPixmap::fromImage(image));
  32. ui->statusbar->showMessage(tr(“ 捕获成功 ”), 5000);
  33. }
  34. void MainWindow::saveImage()
  35. {
  36.     QString fileName=QFileDialog::getSaveFileName(this, tr(“ 保存到文件 ”), QDir::homePath(), tr(“jpeg 格式文件 (.jpg)”));
  37.     if(fileName.isEmpty()) {
  38.     ui->statusbar->showMessage(tr(“ 保存操作已取消 ”), 5000);
  39.     return;
  40.     }
  41.     const QPixmap* pixmap=ui->label_Display->pixmap();
  42.     if(pixmap) {
  43.     pixmap->save(fileName);
  44.     ui->statusbar->showMessage(tr(“ 保存成功 ”), 5000);
  45.     }
  46. }

复制代码

就是摄像头没加载出来

各位大佬帮忙看看

网友回复:

注册 竟然用的不是 vc++ 6.0,我要给差评了

akatom ok

xuliliang 果然 MJJ 们神通广大

akatom 这一样是你写的还是抄的 设备号和你一样么 camera=new QCamera(“@device:pnp:\?\usb#vid_0edc&pid_2076&mi_00#6&3455a94a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global”,this);

溜溜球 确认过了 大佬 一致

hep 其他地方有没有可能还有问题呢

akatom qt QCamera 我也没用过  参考下这个 https://blog.51cto.com/xiaohaiwa/5380268 1. pro 文件的依赖 2. new QCamera 如参 设置成 this 试试

akatom 再问一下大佬 ui 界面是不是语言添加信息槽啥的,ui 界面需要做啥

hep QT UI 界面就是和用户交互的逻辑 比如用户点个按钮 触发截图的逻辑 .ui 文件是用 QT 编辑器拖动出来的,里面都是 xml 描述信息,用熟练了效率很高

注册 oki 谢谢  我在研究研究

注册 ddddd

正文完
 0