我想在我的 .ui 表单文件的 qtabwidget 内添加一个视频播放器。当程序运行时(Windows 8),程序窗口是一个小白框(不是我的 .ui 表单),视频播放(你可以听到)。另外,如果我注释掉“ui->Information->addTab(videoWidget, “video”);”之后的所有内容 程序的 UI 加载正常,新选项卡创建为“视频”,但是没有任何效果,因为 mediaPlayer 代码被注释掉了。这是媒体小部件的代码:
mainwin.h
private:
QMediaPlayer * mediaPlayer;
主win.cpp
ui->setupUi(this);
mediaPlayer = new QMediaPlayer();
QVideoWidget *videoWidget = new QVideoWidget();
ui->Information->addTab(videoWidget, "video");
mediaPlayer->setVideoOutput(videoWidget);
mediaPlayer->setMedia(QUrl("link"));
mediaPlayer->play();
有人可以帮忙吗?谢谢!
编辑:查看来自 qt 的示例,我在创建窗口时注意到“mediaPlayer(0, QMediaPlayer::VideoSurface)”,如果我这样做,我会得到:
Project::Project(QWidget *parent) :
QMainWindow(parent),
mediaPlayer(0, QMediaPlayer::VideoSurface),
ui(new Ui::Project)
{
ui->setupUi(this);
这会导致一些错误,“错误:表达式列表在 mem-initializer [-fpermissive] mediaPlayer(0, QMediaPlayer::VideoSurface) 中被视为复合表达式”,“警告:逗号运算符的左操作数无效 [-Wunused- value]”和“错误:在初始化时无法将 'QMediaPlayer::Flag' 转换为 'QMediaPlayer*'”。