QT下使用ffmpeg播放视频范例

main.cpp

#include "frmmain.h"
#include <QApplication>
#include <QFile>
#include <QTextCodec>
#include <QDesktopWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);   

    //根据不同QT版本编译,在QT5以下版本中需要设置为UTF-8编码才能正常显示中文
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
    QTextCodec *codec=QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);
#endif

    //加载和应用黑灰色主题样式表
    QFile qssFile(":/style.qss");
    qssFile.open(QFile::ReadOnly);
    if(qssFile.isOpen()){
        qApp->setStyleSheet(QLatin1String(qssFile.readAll()));
        qssFile.close();
    }

    frmMain w;
    //设置窗体居中显示,并且不能改变大小
    QDesktopWidget desktop;
    int screenX=desktop.availableGeometry().width();
    int screenY=desktop.availableGeometry().height();
    int frmX=w.width();
    int frmY=w.height();
    QPoint movePoint(screenX/2-frmX/2,screenY/2-frmY/2);
    w.move(movePoint);
    //设置窗体不能调整大小
    w.setFixedSize(frmX,frmY);
    w.show();

    return a.exec();
}

frmmain.cpp

#include "frmmain.h"
#include "ui_frmmain.h"
#include "qffmpeg.h"
#include "rtspthread.h"
#include <QDebug>
frmMain::frmMain(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::frmMain)
{
    ui->setupUi(this);    

    tempWidth=320;
    tempHeight=180;
    video1Max=false;
    video2Max=false;
    video3Max=false;
    all=false;
    ui->labVideo1->installEventFilter(this);
    ui->labVideo2->installEventFilter(this);
    ui->labVideo3->installEventFilter(this);
}

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

//处理用户双击对应通道最大化处理
bool frmMain::eventFilter(QObject *obj, QEvent *event)
{    
    if (event->type()==QEvent::MouseButtonDblClick){
        if (obj==ui->labVideo1){
            if (video1Max){
                tempWidth=320;
                tempHeight=180;
                ui->labVideo2->setVisible(true);
                ui->labVideo3->setVisible(true);
           
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值