案例分享:Qt出版社书籍配套U盘资源播放器软件定制(脚本关联播放器与资源文件,播放器,兼容win7,win10和mac)

简介: 案例分享:Qt出版社书籍配套U盘资源播放器软件定制(脚本关联播放器与资源文件,播放器,兼容win7,win10和mac)

需求

  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



相关文章
|
7月前
|
编解码 项目管理 开发工具
探寻最受欢迎的 Mac 系统开源免费软件
探寻最受欢迎的 Mac 系统开源免费软件
253 1
|
7月前
|
C++
基于Qt的简易音乐播放器设计与实现
基于Qt的简易音乐播放器设计与实现
327 0
mac上datagrip.vmoptions文件编辑错误导致DataGrip软件打不开
mac上datagrip.vmoptions文件编辑错误导致DataGrip软件打不开
|
3月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
2月前
|
项目管理 iOS开发 UED
Mac用户必备的任务管理软件!三款高效工具推荐
本文介绍了Mac系统在项目管理和任务管理方面的独特优势,包括用户体验、系统生态整合和隐私安全等方面。针对Mac用户的需求,推荐了三款高效任务管理软件:板栗看板、OmniFocus和Things 3。板栗看板适合团队协作,OmniFocus适合高需求的个人用户,Things 3则以简洁美观的界面和易用性著称。文章详细分析了每款软件的特点和适用场景,帮助用户选择最合适的工具。
103 6
|
6月前
|
网络协议 开发工具 git
mac基础操作、快捷、软件快捷方式
mac基础操作、快捷、软件快捷方式
52 1
|
2月前
|
数据可视化 项目管理
Mac 任务管理神器:三款高效软件大揭秘
在 Mac 的世界里,拥有一款好用的任务管理软件如同拥有贴心的私人助理。本文推荐三款超棒的 Mac 任务管理软件:板栗看板、Things 和 OmniFocus。板栗看板以其可视化看板和团队协作功能脱颖而出;Things 以简洁高效的界面和强大的提醒功能著称;OmniFocus 则适合专业人士,提供深度任务规划和高级过滤功能。无论你是团队成员还是个人用户,总有一款适合你,助你提升工作效率,让生活更加有序。
|
4月前
|
芯片 iOS开发 MacOS
Mac上运行windows软件-GPTK
Mac上运行windows软件-GPTK
237 1
|
4月前
|
文字识别 监控 Windows
Mac 常用软件、快捷健、常用操作 和 Windows 对比
Mac 常用软件、快捷健、常用操作 和 Windows 对比
49 0
|
7月前
mac10.9安装win7
mac10.9安装win7
55 0