在Qt5中创建QVideoWidget

111*_*001 1 c++ qt qmake qtgui qtmultimedia

我有以下代码:

#include <QtWidgets/QtWidgets>
#include <QtMultimedia/QCamera>
#include <QtMultimedia/QMediaPlayer>

int main(int argc, char * argv[])
{
    QApplication testQt(argc, argv);
    QMainWindow w;

    QWidget videoContainer(&w);
    w.setCentralWidget(&videoContainer);

    QVideoWidget videoWidget(&videoContainer);

    QCamera cam(&w);
    cam.setViewfinder(&videoWidget);
    cam.start();

    w.show();

    return testQt.exec();
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个主窗口,创建一个容器小部件来显示视频,在该容器中创建一个视频单元,然后最终将摄像机的取景器设置为该视频单元.但是,当我尝试这样做时,我得到了错误

变量具有不完整类型'QVideoWidget'

为什么我收到此错误?

lpa*_*app 7

您需要包含相应的标头,如下所示:

#include <QVideoWidget>
Run Code Online (Sandbox Code Playgroud)

您可能还需要将其添加到项目文件中:

QT += multimediawidgets
Run Code Online (Sandbox Code Playgroud)

  • 在 CMake 中:`find_package(Qt5MultimediaWidgets REQUIRED)` 和 `target_link_libraries(... Qt5::MultimediaWidgets)` (3认同)