2017-03-01 16 views
0

이것은 위젯을 사용하여 멀티미디어 객체를 배열하는 것에 관한 것입니다. 다음 내가 시도 무엇 : 레이아웃에 다른 위젯레이아웃에서 다른 위젯과 함께 QCamera를 정렬하는 방법은 무엇입니까?

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

어떻게 준비하는 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); 
} 

이 결과?

답변

2

QCamera 카메라 자체는 위젯이 아닙니다! 그러나 the qt doc에서 우리는 배웁니다.

"QCamera는 뷰 파인더 디스플레이를 위해 QCameraViewfinder와 함께 사용할 수 있으며, 비디오 녹화에는 QMediaRecorder를 사용하고 이미지 촬영에는 QCameraImageCapture와 함께 사용할 수 있습니다."

그래서 나는 당신이 QCameraViewfinder 수 있습니다 원하는 것을 추측 :

QCameraViewfinder* cameraView = new QCameraViewfinder (this); 

cameraView->setMediaObject (m_QCamera_required_camera); 

layout->addWidget(cameraView); 
1

QCamera이 위젯 아닙니다, 당신은 QCameraViewfinder이 (.PRO하는 multimediawidgets 추가)를 사용한다 :

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