initializeGL函数由于是初始化,所以只调用一次
而resizeGL和paintGL会多次调用

resizeGL在正常的情况下,触发的条件是,窗口大小发生变化时,resizeGL被调用,之后会触发paint事件,从而调用paintGL()事件处理器。

paintGL在正常的情况下,只要你移动窗口的位置,就会马上触发paint事件,从而调用paintGL事件处理器。当然,还有窗口在隐藏和显示之间变换时,也会触发paint事件,从而调用paintGL事件处理器。

总结:

1:initializeGL()函数只在程序开始时运行一次,之后不会再运行

2:resizeGL()只在在窗口尺寸发生变化时,会自动运行,然后触发paint事件,从而调用paintGL()事件处理函数

3:paintGL()会在窗口位置移动时被调用,或是窗口在隐藏和显示之间变换时,被调用

4.updateGL()功能是触发paintGL()

Qt中openGL的四个重要事件(initializeGL() resizeGL() paintGL() pdateGL())调用规则相关推荐

  1. QT中OpenGL开发起步

    OpenGL中环境搭建 近期由于需要做一个GUI展示的OpenGL程序,因此想到用QT来做界面,需要在QT中写OpenGL,配完环境后,在这里总计一下. QT基础 总体看来,QT的版本较为混乱,有时候 ...

  2. qt中opengl窗口的创建

    该笔记借鉴自 : "懂deeee珍惜"的 现代OpenGL+Qt学习笔记之二:程序框架 "爱种鱼的猫"的 QT中使用OpenGL(0)--创建一个窗口 引用引自 ...

  3. QT中事件处理、事件过滤器、拖放事件分析

    Qt: 事件过滤器 obj->installEventFilter(filterObject);常常是obj->installEventFilter(this). 发送到obj的所有事件, ...

  4. Qt中基类widget的各个事件函数中包含了ignore()的调用

    void My_Label:: mousePressEvent(QMouseEvent* e){qDebug()<<"子控件按下了";// e->ignore() ...

  5. Qt学习笔记-Qt中OpenGL的使用

    现在窗口中心即为坐标原点,X轴从左到右,Y轴从下到上,Z轴从里到外. 程序运行截图如下: 源码如下: myglwidget.h #ifndef MYGLWIDGET_H #define MYGLWID ...

  6. Qt中实现获取中文首字母(GB2312 和 unicode以及调用Unihan实现全汉字拼音转换,支持多音字和生僻字等)和中英文数字排序功能

    Qt5中可以通过qSort接口,结合QLocale类和QCollator类,可以对中文,英文,数字进行排序,但默认排序顺序为数字.英文.中文,但如果需要中英文混合排序的话,需要另外封装方法实现. 这种 ...

  7. qt中label双击_qt关于QLabel控件的实现双击调用文件对话框

    这里是手动添加以QLabel为基类c++类,重载mouseDoubleClickEvent()nlabel.h #ifndef NLABEL_H #define NLABEL_H #include c ...

  8. QT中使用OpenGL绘制图形

    Qt Creator中的3D绘图及动画教程(参照NeHe) 刚刚学习了Qt Creator,发现Qt提供了QtOpenGL模块,对OpenGL做了不错的封装,这使得我们可以很轻松地在Qt程序中使用Op ...

  9. Qt中使用OpenGL进行绘图

    Qt Creator中的3D绘图及动画教程(参照NeHe) 刚刚学习了Qt Creator,发现Qt提供了QtOpenGL模块,对OpenGL做了不错的封装,这使得我们可以很轻松地在Qt程序中使用Op ...

最新文章

  1. 毕业季:理想很丰满,现实也可以很丰满!
  2. Spring2.5+MINA2搭建Socket Server
  3. 电源稳定性测试软件,电源测试:电源设计的稳定性测量
  4. ubuntu18.04 出现 Command ‘ifconfig‘ not found 问题的解决办法
  5. SAP UI5:how to connect mock data
  6. matlab 矩阵数据生成.csv表格
  7. C++ - 命名空间,argc和argv详解,游戏人生介绍
  8. linux下RRDTool安装方法
  9. 如何为我们的程序编写开发文档——Java文档注释
  10. armv6、armv7、armv7s、arm64分别对应什么?
  11. 医咖会免费SPSS教程学习笔记—斯皮尔曼相关系数(秩相关系数)
  12. 谈内置创新5.1/7.1声卡效果开混响模式滋滋啦啦炸麦声音【案例解析】
  13. ubuntu安装配置搜狗拼音输入法
  14. 隧道管廊UWB定位系统解决方案
  15. 谈谈优惠券系统的设计
  16. 华为云Ubuntu16.04更新包管理工具卡住 0% [Connecting to archive.ubuntu.com (91.189.88.152)]
  17. web前端程序员职位介绍
  18. Apache部署超详细教程
  19. python+selenium+pycharm安装
  20. 可视化学习git的一个网站

热门文章

  1. android 线程list.add,ListenableWorker 中的线程处理
  2. 2022-2028年中国互联网+汽车行业深度调研及投资前景预测报告
  3. JS动态改变文本中光标位置
  4. [Quick-x]制作新手引导高亮区域方法之二:裁剪模式
  5. UNICODE使用的一些知识和技巧
  6. [导入]实时数据库的经典书
  7. SQL中获取刚插入记录时对应的自增列的值
  8. python gui框架_Python的GUI框架PySide的安装配置教程
  9. python分类算法_用Python实现KNN分类算法
  10. rtsp有没有好使_轻量级RTSP服务和内置RTSP网关有什么不同?