案例分享:Qt出版社書籍配套U盤資源播放器軟件定製(腳本關聯播放器與資源文件,播放器,兼容win7,win10和mac)

若該文爲原創文章,轉載請註明原文出處
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/115919546windows

長期持續帶來更多項目與技術分享,諮詢請加QQ:2149793六、微信:yangsir198808 微信

紅胖子(紅模仿)的博文大全:開發技術集合(包含Qt實用技術、樹莓派、三維、OpenCV、OpenGL、ffmpeg、OSG、單片機、軟硬結合等等)持續更新中…(點擊傳送門)ide

合做案例專欄:案例分享(體驗Demo可下載,只定制)


需求

  1.播放器軟件,插入U盤運行;
  2.每一個菜單和視頻可自由配置;
  3.適配分辨率,鼠標按下任意處可拽拖軟件;
  4.播放器進度條,播放暫停,音量,大小屏切換;
  5.兼容win7,win10,mac系統;ui


相關博客

  《案例分享:Qt視頻播放器控件(不依賴系統編解碼)
  《Qt實用技巧:使用QMediaPlayer播放mp4文件
  《Qt實用技巧:使用QMediaPlayer和Windows自帶組件播放swf、rmvb、mpg、mp4等視頻文件
  《項目實戰:Qt+OpenCV視頻播放器(支持播放器操做,如暫停、恢復、中止、時間、進度條拽託等)
  《項目實戰:Qt+OpenCV做攝像頭拍照、調節參數和視頻錄製spa


Demo

  在這裏插入圖片描述
  在這裏插入圖片描述
  配置腳本文件,能夠配置3-6頁的信息和播放文件路徑,以下圖:
  
  在這裏插入圖片描述
  第三張圖效果以下:
  在這裏插入圖片描述
  在這裏插入圖片描述
  在這裏插入圖片描述.net

  在這裏插入圖片描述
  點擊黃色文件,進入全屏播放,可調節進度條,聲音,播放狀態,也可縮小播放窗口:
  在這裏插入圖片描述
  非全屏的播放以下:
  在這裏插入圖片描述code


頭文件源碼

#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視頻