使用以下说明时:
m_viewfinder = new QVideoWidget(ui->captureView);
您正在设置为的父级
m_viewfinder
到
captureView
,因此
m\U取景器
将相对于
captureView
,但这并不表示它将与父级大小相同。
最简单的方法之一是使用布局。此外,无需创建
QGraphicsWidget
或者
QVBoxLayout
,因此我建议您将其删除,并按默认设置获取设计:
然后我们建立一个布局,放置在
centralWidget
,并在此布局中添加
QVideoWidget
.
...
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_viewfinder = new QVideoWidget;
QVBoxLayout *lay = new QVBoxLayout(ui->centralWidget);
lay->addWidget(m_viewfinder);
m_camera = new QCamera(QCameraInfo::defaultCamera());
m_camera->setViewfinder(m_viewfinder);
m_camera->start();
}
...
在以下内容中
link
您可以找到完整的示例。