Я хочу добавить видеоплеер внутри qtabwidget в мой файл формы .ui. Когда программа запускается (Windows 8), окно программы представляет собой маленькую белую рамку (не то, что моя форма .ui), и видео воспроизводится (вы можете слышать это). Кроме того, если я закомментирую все после «ui-> Информация-> addTab (videoWidget,« video »)»; пользовательский интерфейс программы загружается как обычно, и новая вкладка создается «видео», однако ничего не работает, потому что код mediaPlayer закомментирован из. Это код для медиа виджета:
mainwin.h
private:
QMediaPlayer * mediaPlayer;
mainwin.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] «и» error: невозможно преобразовать ‘QMediaPlayer :: Flag’ в ‘QMediaPlayer *’ при инициализации «.
У меня была такая же проблема после встраивания полного примера медиаплеера QT в мой проект QT 5.5.0. После начала воспроизведения видео в левом верхнем углу появится белая коробка.
Я заметил, что плеер фактически сделает мою панель инструментов приложения (частично) белой, но если панель инструментов будет скрыта, он добавит белый ящик.
Поскольку мне не нужна была панель инструментов, я исправил это, удалив панель инструментов
вместо того, чтобы скрывать это. В конструкторе QT щелкните правой кнопкой мыши на панели инструментов, затем «Удалить панель инструментов».
Других решений пока нет …