Qt6.3.1中使用QOpenGLWidget
一、概述
案例:使用Qt来实现QOpenGLWidget简单框架,此处主要是为后面视频播放做准备的
实现步骤:
1.将OpenGLWidget组件拖入Qt的UI设计页面
2.右键QOpenGLWidget组件--->提升为
3.在代码中创建一个XVideoWidget类,此类的类名要和“提升为”中的类名一致
4.第3步中新建的类需要继承QOpenGLWidget和QOpenGLFunctions
#include <QtOpenGLWidgets/QtOpenGLWidgets> #include <QOpenGLFunctions> class XVideoWidget:public QOpenGLWidget,protected QOpenGLFunctions
5.重写paintGL、initializeGL、resizeGL(int width,int height)
//刷新显示 void paintGL() override; //初始化GL void initializeGL() override; //窗口尺寸变化 void resizeGL(int width,int height) override;
6.在XPlayer.pro文件中添加QOpenGLWidget组件的使用权限
QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets multimedia openglwidgets
二、代码示例
1.XVideoWidget.h
#ifndef XVIDEOWIDGET_H #define XVIDEOWIDGET_H #include <QObject> #include <QtOpenGLWidgets/QtOpenGLWidgets> #include <QOpenGLFunctions> class XVideoWidget:public QOpenGLWidget,protected QOpenGLFunctions { Q_OBJECT public: XVideoWidget(QWidget *parent = nullptr); ~XVideoWidget(); protected: //刷新显示 void paintGL() override; //初始化GL void initializeGL() override; //窗口尺寸变化 void resizeGL(int width,int height) override; }; #endif // XVIDEOWIDGET_H
2.XVideoWidget.cpp
#include "XVideoWidget.h" #include <QDebug> XVideoWidget::XVideoWidget(QWidget *parent):QOpenGLWidget(parent) { } //刷新显示 void XVideoWidget::paintGL(){ qDebug()<<"刷新显示GL"; } //初始化GL void XVideoWidget::initializeGL(){ qDebug()<<"初始化GL"; } //窗口尺寸变化 void XVideoWidget::resizeGL(int width,int height){ qDebug()<<"窗口尺寸变化GL"; } XVideoWidget::~XVideoWidget(){ }
三、演示图片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2013-07-15 Application Constants
2013-07-15 Android 多用户多缓存的简单处理方案
2013-07-15 Android 网络请求超时处理方案