您的位置:首页 > 编程语言 > Qt开发

Qt5--播放视频的混合编程

2016-10-29 16:00 459 查看
QDialog

QVideoWidget

QMediaPlayer

  主要涉及:首先在编辑器上画好一个MainWidow窗口,然后再用纯代码的方式增加一个QVideoWidget。

Pro文件中的代码:

#-------------------------------------------------
#
# Project created by QtCreator 2016-10-29T11:02:40
#
#-------------------------------------------------

QT       += core gui
QT       += multimediawidgets
QT       += multimedia

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = VideoPlayer
TEMPLATE = app

SOURCES += main.cpp\
mainwindow.cpp \
sysDialog.cpp \
aboutdialog.cpp

HEADERS  += mainwindow.h \
sysDialog.h \
aboutdialog.h

FORMS    += mainwindow.ui \
sysDialog.ui \
aboutdialog.ui


MainWindow.h中的代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include <QVideoWidget>
#include <QMediaPlayer>

#include "sysDialog.h"
#include "aboutdialog.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

private slots:
void on_actionsysConfiure_triggered();

void on_actionVodeoPlayer_triggered();

void on_actionInformation_triggered();

void on_actionExit_triggered();

private:
Ui::MainWindow *ui;
sysDialog sDialog;
aboutDialog aDialog;
QMediaPlayer *player;
QVideoWidget *videoWidget;
};

#endif // MAINWINDOW_H


MainWindow.cpp的代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QtWidgets>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//    ui->videoWidget;
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_actionsysConfiure_triggered()//系统设置
{
sDialog.exec();
// 在主窗口中间显示
int x =this->x() + (this->width() - sDialog.width()) / 2;
int y =this->y() + (this->height() - sDialog.height()) / 2;
sDialog.move(x, y);

}

void MainWindow::on_actionVodeoPlayer_triggered()//视频播放
{
player=new QMediaPlayer;
videoWidget=new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->setGeometry(0,120,850,450);//在原窗体中设置一个如此大小的播放窗口
player->setMedia(QUrl::fromLocalFile("D:/test.mp4"));
this->layout()->addWidget(videoWidget);
player->play();
}

void MainWindow::on_actionInformation_triggered()//软件信息
{
aDialog.exec();
int x =this->x() + (this->width() - aDialog.width()) / 2;
int y =this->y() + (this->height() - aDialog.height()) / 2;
aDialog.move(x, y);
}

void MainWindow::on_actionExit_triggered()//退出软件
{
this->close();
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: