【发布时间】:2018-10-03 00:30:27
【问题描述】:
我正在 Ubuntu 16.04 上尝试使用 Qt 5.10 QMultimedia 播放 Gstreamer 录制的视频。该应用程序的主要内容如下所示。调用 showMaximized() 后,我似乎无法将视频缩放到完整的 Qt 屏幕。
屏幕中间显示的小视频如下图(我希望它缩放到整个窗口):
代码:
#include "mainwindow.h"
#include <QVideoWidget>
#include <QGraphicsView>
#include <QtMultimedia>
#include <QGraphicsVideoItem>
#include <unistd.h>
#include <QTimer>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
QGraphicsView * graphicsView = new QGraphicsView;
QGraphicsScene * scene = new QGraphicsScene;
QGraphicsVideoItem *item = new QGraphicsVideoItem;
//graphicsView->setGeometry(0,0,640,480); // One size shows up... attempt #1
graphicsView->setGeometry(0,0,640*2,480*2); // This does nothing to video size?
graphicsView->setScene(scene);
graphicsView->scene()->addItem(item);
graphicsView->setRenderHints( QPainter::Antialiasing );
scene->setSceneRect(scene->itemsBoundingRect());
graphicsView->setSceneRect(scene->sceneRect());
// Media Player
player = new QMediaPlayer;
player->setVideoOutput(item);
player->setMedia(QUrl::fromLocalFile("/tmp/test.mkv"));
player->play();
qDebug() << "Started Playing";
// Show full screen
//graphicsView->showFullScreen();
graphicsView->showMaximized();
}
【问题讨论】:
标签: linux qt qt5 qtmultimedia