QT QMediaPlayer Widget вызывает маленькое белое окно

Я хочу добавить видеоплеер внутри 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 *’ при инициализации «.

0

Решение

У меня была такая же проблема после встраивания полного примера медиаплеера QT в мой проект QT 5.5.0. После начала воспроизведения видео в левом верхнем углу появится белая коробка.

Я заметил, что плеер фактически сделает мою панель инструментов приложения (частично) белой, но если панель инструментов будет скрыта, он добавит белый ящик.

Поскольку мне не нужна была панель инструментов, я исправил это, удалив панель инструментов
вместо того, чтобы скрывать это. В конструкторе QT щелкните правой кнопкой мыши на панели инструментов, затем «Удалить панель инструментов».

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]