資源簡介
從零開始學(xué)習(xí)音視頻編程技術(shù)(二十二) FFMPEG Qt視頻播放器之BUG修復(fù)(升級到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);
????///定時器用于定制檢測鼠標(biāo)位置,防止鼠標(biāo)快速移入窗口,沒有檢測到,導(dǎo)致鼠標(biāo)箭頭呈現(xiàn)拖拉的形狀
????mTimer?=?new?QTimer;
????mTimer->setInterval(1000);
????connect(mTimer?&QTimer::timeout?this?&DragAbleWidget::slotTimerTimeOut);
????mTimer->start();
///改變窗體大小相關(guān)
????isMax?=?false;
????int?w?=?this->width();
????int?h?=?this->height();
????QRect?screenRect?=?QApplication::desktop()->screenGeometry();//獲取設(shè)備屏幕大小
????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);//?追蹤鼠標(biāo)
????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);
????//安裝事件監(jiān)聽器讓標(biāo)題欄識別鼠標(biāo)雙擊
//????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);
}
////////////改變窗體大小相關(guān)
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圖書管理系統(tǒng)完整版源碼
評論
共有 條評論