2017-03-01 2 views
0

これは、ウィジェットでマルチメディアオブジェクトを配置することについてです。続き は、私が試したものです:他のウィジェットを持つQCameraをレイアウトに配置するにはどうすればいいですか?

MainWindow::MainWindow(QWidget *parent) 
    : QMainWindow(parent) 
{ 
    m_QPushButton_calibration = new QPushButton("Calibrate", this); 
    connect(m_QPushButton_calibration, SIGNAL (released()),this, SLOT (handleButton())); 


    QList<QCameraInfo> l_QListQCameraInfo_available_cameras = QCameraInfo::availableCameras(); 
    if (l_QListQCameraInfo_available_cameras.length() > 2) 
    { 
     m_QCamera_required_camera = new QCamera (l_QListQCameraInfo_available_cameras[1]); 
    } 

    QHBoxLayout *layout = new QHBoxLayout; 
    layout->addWidget(m_QPushButton_calibration); 
    layout->addWidget(m_QCamera_required_camera); 

    this->setLayout(layout); 
} 

それは、その結果:

error: no matching function for call to 'QHBoxLayout::addWidget(QCamera*&)' 
    layout->addWidget(m_QCamera_required_camera); 
               ^

レイアウトの他のウィジェットとQCameraを配置する方法は?

答えて

2

QCamera自体はウィジェットではありません!しかしthe qt docからは、

"QCameraはビューファインダーの表示用にQCameraViewfinder、ビデオ撮影用のQMediaRecorder、画像撮影用のQCameraImageCaptureで使用できます。"

だから私はあなたがQCameraViewfinderかもしれない何をしたいと思います:

QCameraViewfinder *mCameraViewfinder = new QCameraViewfinder(this); 
m_QCamera_required_camera->setViewfinder(mCameraViewfinder); 

layout->addWidget(m_QPushButton_calibration); 
layout->addWidget(mCameraViewfinder); 
m_QCamera_required_camera->start(); 

Complete code

QCameraViewfinder* cameraView = new QCameraViewfinder (this); 

cameraView->setMediaObject (m_QCamera_required_camera); 

layout->addWidget(cameraView); 
1

QCameraはウィジェットではありません、あなたはQCameraViewfinderを(.PROするmultimediawidgetsを追加)を使用する必要があります

関連する問題