QVideoWidget是Qt中用于播放视频的组件,常规用法如下:
- 创建QMediaPlayer对象和QVideoWidget对象
QMediaPlayer* player = new QMediaPlayer(this);
QVideoWidget* videoWidget = new QVideoWidget(this);
- 设置QMediaPlayer的媒体源
player->setMedia(QUrl::fromLocalFile("path/to/video.mp4"));
- 将QVideoWidget设置为QMediaPlayer的输出设备
player->setVideoOutput(videoWidget);
- 在需要播放视频的地方调用play()方法
player->play();
将QVideoWidget添加到布局中显示出来
可以通过控制QMediaPlayer的状态(如暂停、停止、快进等)来控制视频播放,也可以通过信号槽机制获取视频播放进度等信息。
完整示例代码:
#include <QtWidgets>
#include <QtMultimedia>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget* widget = new QWidget;
QVBoxLayout* layout = new QVBoxLayout(widget);
// 创建 QMediaPlayer 和 QVideoWidget 对象
QMediaPlayer* player = new QMediaPlayer(widget);
QVideoWidget* videoWidget = new QVideoWidget(widget);
// 设置媒体源
player->setMedia(QUrl::fromLocalFile("path/to/video.mp4"));
// 将 QVideoWidget 设置为输出设备
player->setVideoOutput(videoWidget);
// 添加到布局中
layout->addWidget(videoWidget);
// 播放视频
player->play();
widget->show();
return app.exec();
}