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*' при инициализации ".

1 ответ

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

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

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

Другие вопросы по тегам