Qt自有一个绘图的引擎,这个引擎的核心就是QPainter,我们知道QPainter在渲染二维图形和文字有很大的优势,而OpenGL是当前流行的三维渲染器,怎样才能将两者结合起来,制作更为丰富的应用程序?《C++GUIProgramming with Qt 4,secondedition》这本书给了我们一个小的例子,不过我们还要深入地以这个例子为基础进行挖掘,配合Qt的文档,我们才能真正地了解Qt对OpenGL的封装。

演示程序下载地址:这里

源代码的下载地址:这里

这是我创建的例子截图:

这个例子使用了OpenGL、Qt资源、Qt语言家等。

简单地说,首先我用Qt原生二维渲染引擎QPainter绘制了一个背景图,随后将渲染的上下文转为OpenGL进行渲染,最后在中间显示了文字。当然我们使用了Qt语言家,可以显示任何国家的任何文字,只要机器支持该语言。

下面是我这个类的定义:

#ifndefGLWIDGET_H

#define GLWIDGET_H

#include

#include

class GLWidget : public QGLWi

qt android opengl,案例:实现Qt和OpenGL混合渲染 | 求索阁相关推荐

  1. qt android图片自适应大小,Qt on Android:怎样适应不同的屏幕尺寸

    使用 Qt 开发的 Android 应用,怎样适应 Android 智能手机各种各样的屏幕尺寸? 说到屏幕尺寸,从 2.8 吋到 8.9 吋的手机屏幕都有,这对程序猿们来讲痛苦可不只一点. Andro ...

  2. qt android安装在哪,Qt On Android开发环境安装、配置

    本文记录在Windows 8.1下,Qt on Android 5.5开发环境的安装和配置. 1.安装JDK 到甲骨文网站下载JDK:http://www.oracle.com 下载安装成功后,设置环 ...

  3. qt android播放器代码,Qt on android 播放视频的实现

    本文介绍的是使用QML进行视频的播放,可以直接编译为APK在android上运行. QML中对多媒体的处理提供了很多方便的组件,对于播放音频.视频都很方便.这些多媒体组件属于Qt Multimedia ...

  4. qt android 网络编程实例,QT网络编程Tcp下C/S架构的即时通信实例

    先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include #include #include # ...

  5. qt android屏幕锁屏,Qt 实现超时锁屏

    最近使用Qt实现超时锁屏的功能(工控机触摸屏),当手长时间不触摸屏幕的时候,程序超时会显示锁屏窗口. 一.效果 主窗口超时显示锁屏窗口: 系统窗口超时显示锁屏窗口: 二.实现思路 首先开启一个线程用于 ...

  6. qt android文件读写文件,qt android 开发之写入xml配置文件篇

    应用初始化本地数据,需要读取配置文件,小编介绍如何通过xml简单写入配置文件,至于为什么选择这个格式,主要因为在qml中有一个很好 的类使用:XmlListModel xmlListModel能直接读 ...

  7. qt android漂亮控件,qt android 开发之炫酷控件的制做

    手机应用开发,就是吸引用户,要吸引用户,确定离不开用户体验!此次给你们分享一个自做的炫酷qml控件:fanControler 这个控件目前有点bug,不过整体效果仍是很赞的,经过滑动划片来控制风扇的转 ...

  8. qt android glsl,基于Qt的OpenGL学习(1)—— Hello Triangle

    简介 要学习OpenGL的话,强烈安利这个教程JoeyDeVries的learnopengl,这里是中文翻译好的版本.教程中使用OpenGL是通过GLFW这个库,而在Qt中对OpenGL封装得很好,并 ...

  9. Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染

    Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染 上一篇文章讲到了利用C++这个桥梁,我们实现了QML和Java的交互.Qt 5大力推崇的QML/JS开发,让轻量.高速开发的QML/J ...

最新文章

  1. 错误代码为0xC000218,0x00000051的蓝屏错误,或是提示 System32/config missing之类的注册表错误...
  2. SoundPool 音频播放 详解 示例
  3. 网页测试本地服务器_音视频开发搭建一个直播服务器
  4. 华为全面屏鸿蒙,华为P50pro最新确认:麒麟1020+立体全面屏+鸿蒙系统,这才是华为...
  5. SmartOS之以太网精简协议栈TinyIP
  6. DL之Keras:keras保存网络结构、网络拓扑图、网络模型(json、yaml、h5等)注意事项及代码实现
  7. “数学的重要性及其应用“系列公益讲座01
  8. 【Android】系统目录理解
  9. 转载 vue的基础使用
  10. 爱上MVC~业务层刻意抛出异常,全局异常的捕获它并按格式返回
  11. java 执行多个查询语句_用java在单个语句中执行的多个查询
  12. ETC passwd 用户和组管理
  13. Atitit 设计模式与算法,与流程的关系
  14. 《CCNA学习指南:数据中心(640-911)》——1.2 一般网络的构成
  15. 如何将 Mac 显示器投放到 Apple TV 或非 Apple 智能电视?
  16. wex5 tomcat配置php,WeX5 Tomcate 发布
  17. GeoHash在空间道路密度计算中的应用-以mobike骑行轨迹为例
  18. linux下安装qt教程
  19. Scrapy-Redis使用教程将现有爬虫修改为分布式爬虫
  20. 华为手机居然还能这样提高续航?简单设置一下,一天一充很轻松

热门文章

  1. 异或的计算机符号,异或运算怎么算
  2. 量化交易 第六课 策略评估指标计算
  3. 机械工程计算机控制,机械工程学院计算机控制系统作业_.doc
  4. 如何将微信聊天记录转移到其他手机上?技能分享
  5. 1、实践、总结、深入理解原理 2、设定目标、知难而上、精益求精
  6. aws mysql价格_AAmazon Athena 价格-无服务器交互式数据库查询服务-AWS云服务
  7. 研究生论文开题报告技巧分享
  8. 统计学的历史与今天-张晓牟
  9. 如何选择h5游戏定制公司?
  10. linux python urllib,Python urllib