若該文為原創文章,轉載請注明原文出處
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/115919546
長期持續帶來更多專案與技術分享,咨詢請加QQ:21497936、微信:yangsir198808
紅胖子(紅模仿)的博文大全:開發技術集合(包含Qt實用技術、樹莓派、三維、OpenCV、OpenGL、ffmpeg、OSG、單片機、軟硬結合等等)持續更新中…(點擊傳送門)
合作案例專欄:案例分享(體驗Demo可下載,只定制)
需求
??1.播放器軟體,插入U盤運行;
??2.每個選單和視頻可自由配置;
??3.適配解析度,滑鼠按下任意處可拽拖軟體;
??4.播放器進度條,播放暫停,音量,大小屏切換;
??5.兼容win7,win10,mac系統;
相關博客
??《案例分享:Qt視頻播放器控制元件(不依賴系統編解碼)》
??《Qt實用技巧:使用QMediaPlayer播放mp4檔案》
??《Qt實用技巧:使用QMediaPlayer和Windows自帶組件播放swf、rmvb、mpg、mp4等視頻檔案》
??《專案實戰:Qt+OpenCV視頻播放器(支持播放器操作,如暫停、恢復、停止、時間、進度條拽托等)》
??《專案實戰:Qt+OpenCV作攝像頭拍照、調節引數和視頻錄制》
Demo
??
??
??配置腳本檔案,可以配置3-6頁的資訊和播放檔案路徑,如下圖:
??
??
??第三張圖效果如下:
??
??
??
??
??點擊黃色檔案,進入全屏播放,可調節進度條,聲音,播放狀態,也可縮小播放視窗:
??
??非全屏的播放如下:
??
頭檔案原始碼
#ifndef UPANVIDEOWIDGET_H
#define UPANVIDEOWIDGET_H
#include <QWidget>
#include <QPushButton>
#include <QHash>
#include <QFrame>
#define CONFIG ("config")
#define FILENAME ("menu")
// windows系統改為1,mac系統改為0
#if 1
// windows系統的時候
#define MAC (0)
#define WINDOW (1)
#else
// mac系統的時候
#define MAC (1)
#define WINDOW (0)
#endif
namespace Ui {
class UPanVideoWidget;
}
class UPanVideoWidget : public QWidget
{
Q_OBJECT
struct Page
{
Page()
{
}
QList<QPushButton *> listPushButton;
QList<QPushButton *> listPushButton2;
QList<QPushButton *> listPushButton3;
QList<QPushButton *> listPushButton4;
QList<QString> listString4;
QList<QPushButton *> listPushButton5;
};
public:
explicit UPanVideoWidget(QWidget *parent = 0);
~UPanVideoWidget();
protected:
void resizeEvent(QResizeEvent *event);
void paintEvent(QPaintEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
protected:
void init();
void loadConfigFile();
void showPage();
protected slots:
void pushButtonClicked();
private slots:
void on_pushButton_first_clicked();
void on_pushButton_up_clicked();
void on_pushButton_down_clicked();
void on_pushButton_last_clicked();
void on_pushButton_exit_clicked();
void on_pushButton_min_clicked();
private:
Ui::UPanVideoWidget *ui;
int _currentPage;
QList<Page> _listPage;
QList<QFrame*> _listFrame;
QPoint _lastPoint;
bool _pressed;
int _width;
int _height;
};
#endif // UPANVIDEOWIDGET_H
若該文為原創文章,轉載請注明原文出處
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/115919546
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279345.html
標籤:其他
上一篇:你必須了解的動態規劃演算法
