资源简介
从零开始学习音视频编程技术(二十二) FFMPEG Qt视频播放器之BUG修复(升级到ffmpeg4.1)
Qt的版本是5.6.2(vs2013)
FFMPEG的版本是4.1
SDL的版本是2.04
代码片段和文件信息
/**
* 叶海辉
* QQ群121376426
* http://blog.yundiantech.com/
*/
#include “DragAbleWidget.h“
#include “ui_DragAbleWidget.h“
#include
#include
#include
#include
#define MARGINS 2 //窗体边框
DragAbleWidget::DragAbleWidget(QWidget *parent) :
QWidget(parent)
ui(new Ui::DragAbleWidget)
{
ui->setupUi(this);
///定时器用于定制检测鼠标位置,防止鼠标快速移入窗口,没有检测到,导致鼠标箭头呈现拖拉的形状
mTimer = new QTimer;
mTimer->setInterval(1000);
connect(mTimer &QTimer::timeout this &DragAbleWidget::slotTimerTimeOut);
mTimer->start();
///改变窗体大小相关
isMax = false;
int w = this->width();
int h = this->height();
QRect screenRect = QApplication::desktop()->screenGeometry();//获取设备屏幕大小
int x = (screenRect.width() - w) / 2;
int y = (screenRect.height() - h) / 2;
mLocation = this->geometry();
// mLocation = QRect(x y w h);
// this->setGeometry(mLocation);
isLeftPressDown = false;
this->dir = NONE;
this->setMouseTracking(true);// 追踪鼠标
ui->widget_frame->setMouseTracking(true);
ui->widget_back->setMouseTracking(true);
ui->widget_container->setMouseTracking(true);
// ui->widget_center->setMouseTracking(true);
this->setFocusPolicy(Qt::ClickFocus);
ui->widget_frame->setContentsMargins(MARGINSMARGINSMARGINSMARGINS);
showBorderRadius(true);
// ui->widget_frame->setContentsMargins(1 1 1 1);
//安装事件监听器让标题栏识别鼠标双击
// ui->widget_beingClass_back->installEventFilter(this);
}
DragAbleWidget::~DragAbleWidget()
{
}
QWidget *DragAbleWidget::getContainWidget()
{
return ui->widget_container;
}
void DragAbleWidget::settitle(QString str)
{
ui->label_titleName->setText(str);
this->setWindowtitle(str);
}
////////////改变窗体大小相关
void DragAbleWidget::mouseReleaseEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
isLeftPressDown = false;
if(dir != NONE)
{
this->releaseMouse();
this->setCursor(QCursor(Qt::ArrowCursor));
}
}
}
void DragAbleWidget::mousePressEvent(QMouseEvent *event)
{
// qDebug()<<__FUNCTION__;
if (event->type() == QEvent::MouseButtondblclick)
{
if (event->button() == Qt::LeftButton)
{
// if(QApplication::keyboardModifiers() == (Qt::ControlModifier|Qt::ShiftModifier|Qt::AltModifier))
{
doChangeFullScreen(); //ctrl + 左键
}
}
}
switch(event->button()) {
case Qt::LeftButton:
if (isMax || this->isFullScreen()) break;
isLeftPressDown = true;
checkCursorDirect(event->globalPos());
if(dir != NONE) {
this->mouseGrabber();
} else {
dragPosition = event->globalPos() - this->frameGeometry().topLeft();
}
break;
// case Qt::RightButton:
// if (!thi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-24 12:16 VideoPla
目录 0 2019-03-24 10:40 VideoPla
文件 31462912 2018-11-11 23:03 VideoPla
文件 1304576 2018-11-11 23:03 VideoPla
文件 7103488 2018-11-11 23:03 VideoPla
文件 5989888 2018-11-11 23:03 VideoPla
文件 655360 2018-11-11 23:03 VideoPla
文件 293888 2018-11-11 23:03 VideoPla
文件 148480 2018-11-11 23:03 VideoPla
文件 162816 2018-11-11 23:03 VideoPla
文件 113664 2018-11-11 23:03 VideoPla
文件 1005056 2019-03-24 10:13 VideoPla
文件 311808 2018-11-11 23:03 VideoPla
文件 516096 2018-11-11 23:03 VideoPla
文件 365568 2019-03-24 10:47 VideoPla
目录 0 2019-03-24 10:56 VideoPla
文件 45110784 2018-11-11 22:38 VideoPla
文件 2423296 2018-11-11 22:38 VideoPla
文件 7584768 2018-11-11 22:38 VideoPla
文件 6357504 2018-11-11 22:38 VideoPla
文件 658944 2018-11-11 22:38 VideoPla
文件 292352 2018-11-11 22:38 VideoPla
文件 153600 2018-11-11 22:38 VideoPla
文件 168448 2018-11-11 22:38 VideoPla
文件 122880 2018-11-11 22:38 VideoPla
文件 1187840 2019-03-24 10:13 VideoPla
文件 424448 2018-11-11 22:38 VideoPla
文件 540160 2018-11-11 22:38 VideoPla
文件 384000 2019-03-24 10:55 VideoPla
目录 0 2019-03-23 22:57 VideoPla
目录 0 2019-03-23 22:57 VideoPla
............此处省略505个文件信息
- 上一篇:infor WMS手册
- 下一篇:.net图书管理系统完整版源码
相关资源
- Qt5.9.2+VS2017入门——透彻解析对应代码
- ffmpeg4+OpenCV3+VS2017 H264编解码
- Qt游戏代码之坦克大战
- QTMinGw下已经编译好的gdal库
- PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-x64.exe
- 将rtmp流保存成MP4或者flv格式视频参考
- QtitanRibbon3.zip
- QT实现基于freetype的TTF字体拆解
- Qt绘图编辑器涂鸦、画矩形、画椭圆形
- TimeLine2.rarQPainter时间轴绘制,实现刻
- ffmpegjrtplib.zip
- 从零开始学习音视频编程技术十一
- STM32F4x7+freertos+lwip+ssl+MQTT(MDK5)源码
- FFmpeg开发包,适用VS各版本
- ffmpeg一键安装包
- 二维码定位符识别带
- 动态规划求解最短行驶路线问题[Flo
- 使用QSS的扁平化UI程序--成绩管理系统
- 我开发的2048小游戏
-
SurfaceView+MediaPla
yer视频播放器支持选 - ffmpeg 点播
- 基于qt的温湿度监控系统
- Qt+OpenCV人脸识别
- 从零开始学习音视频编程技术41 H.26
- 基于QT的酒店管理系统
- poppler-qt4开发库静态库、动态库及头文
- win32-QtAV编译所需资料
- Qt Http器 运行包
- 局域网音视频广播软件
- Qt 5开发及第4版陆文周.zip
评论
共有 条评论