首页 > 解决方案 > 在 Qt CPP 中连接到相机的问题

问题描述

我在 Qt creator 中运行一个简单的程序来连接相机。当我运行程序时,报告以下问题:

图表连接过滤器失败 -2147467259 [0x0] 连接图表失败(操作成功完成。)

谁能告诉我是什么问题?!任何解决方案将不胜感激。谢谢

标签: c++qtcamera

解决方案


我按照你提到的链接。但我不明白解决问题的确切方法。

这是我用来连接相机的代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    connected = false;
    camera = new QCamera();

    qDebug() << "Number of cameras found:" << QCameraInfo::availableCameras().count();

    QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
    foreach (const QCameraInfo &cameraInfo, cameras)
    {
        qDebug() << "Camera info:" << cameraInfo.deviceName() << cameraInfo.description() << cameraInfo.position();
        ui->comboBox->addItem(cameraInfo.description());
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    if(!connected)
        connectCamera();
    else {
        camera->stop();
        viewfinder->deleteLater();
        ui->pushButton->setText("Connect");
        connected = false;
    }
}

void MainWindow::connectCamera()
{
    QList<QCameraInfo> cameras = QCameraInfo::availableCameras();

    foreach (const QCameraInfo &cameraInfo, cameras)
    {
        qDebug() << cameraInfo.description() << ui->comboBox->currentText();
        if(cameraInfo.description()==ui->comboBox->currentText()) {
            camera = new QCamera(cameraInfo, this);
            viewfinder = new QCameraViewfinder(this);
            camera->setViewfinder(viewfinder);

            ui->horizontalLayout_2->addWidget(viewfinder);

            connected = true;
            ui->pushButton->setText("Disconnect");
            camera->start();
            return;
        }
    }
}

推荐阅读