Qt+OpenGL 新手教程——创建一个OpenGL程序

首先Qt是一个非常强大的应用程序开发框架,它自己提供了OpenGL的模块,不需要配置环境即可直接使用~其次对GLSL也有支持,真的是非常厉害!!!

我们新建一个Qt项目,选择Qt Widgets Application


给项目起一个好玩的名字~


下一步->下一步->选择QWidget(因为我比较常用Widget,它没有QMainWindow的小刘海hhh)


然后完成~

我们接着呢,更改pro文件,加一句

QT       += opengl
 
 

修改完pro文件,我们在.h文件中做下列修改:

引入三个比较常用的头文件,然后将Widget的父类改为QGLWidget

接着我们需要继承三个虚函数,分别用于初始化、绘制和窗口刷新的时候的重置函数

然后到.cpp文件中实现这三个函数,并修改构造函数所继承的父类名称

构造函数:

Widget::Widget(QWidget *parent) :
    QGLWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}


三个重要的函数:

void Widget::initializeGL()
{
    //设置widget的坐标和尺寸
    setGeometry(300, 150, 500, 500);
    //设置清除时颜色
    glClearColor(0.0, 0.0, 0.0, 0);
}
 
void Widget::resizeGL(int w, int h)
{
    //视口变换
    glViewport(0,0,(GLsizei)w,(GLsizei)h);
    //投影变换
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(40.0,(GLdouble)w/(GLdouble)h,0.1,10000.0);
    //视图变换
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(0.0,0.0,15.0,0.0,0.0,0.0,0.0,1.0,0.0);
}
 
void Widget::paintGL()
{
    //清屏
    glClear(GL_COLOR_BUFFER_BIT);
    //绘制七彩三角形
    glBegin(GL_TRIANGLES);
    glColor3f(1.0,0.0,0.0);
    glVertex3f(-2,0,0);
    glColor3f(0.0,1.0,0.0);
    glVertex3f(2,0,0);
    glColor3f(0.0,0.0,1.0);
    glVertex3f(0,4,0);
    glEnd();
 
    glFlush();
 
}
 
代码中简单示例了一个好看的三角形的绘制~编译后就可以运行啦~~~ 

                
  • 4
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
### 回答1: Qt 是一款跨平台应用程序开发框架,它提供了丰富的功能和工具来简化应用程序的开发。OpenGL 是一种图形渲染库,用于创建高性能的2D和3D图形效果。那么,QtOpenGL 的结合能够为开发者提供强大的图形处理能力和丰富的用户界面设计功能。 在学习使用 QtOpenGL 进行应用程序开发时,书籍是非常有帮助的资源。下面是一些关于 QtOpenGL 的书籍推荐: 1.《Qt5 权威指南》:这本书全面介绍了 Qt 的各个方面,包括 Qt 的基础知识、GUI 编程、网络编程、数据库编程等内容,对初学者来说非常友好。同时,书中还有一章专门介绍了如何在 Qt 中使用 OpenGL 进行图形绘制。 2.《Qt5 与 OpenGL 高级编程指南》:这本书着重介绍了 Qt5 和 OpenGL 的结合应用,涵盖了 OpenGL 基础知识、渲染管线、光照、纹理、阴影等高级图形技术。它适合有一定编程经验且对图形编程有兴趣的开发者。 3.《OpenGL编程指南(第九版)》:虽然这本书不是专门讲解 Qt,但是它是学习 OpenGL 必备的经典教材之一。它详细介绍了 OpenGL 的基础知识和相关概念,包括顶点缓冲对象、渲染缓冲区、着色器编程等内容。通过学习这本书,开发者可以更加深入地理解 OpenGL 的工作原理。 以上是一些关于 QtOpenGL 的书籍推荐,选择适合自己水平和需求的书籍进行学习,可以帮助我们更好地掌握 QtOpenGL 的开发技巧,进而开发出功能丰富且高性能的应用程序。 ### 回答2: Qt是一种跨平台的应用程序开发框架,它提供了丰富的GUI界面设计工具和功能强大的库,可以帮助开发者轻松地开发出高质量的图形界面应用程序。而OpenGL是一种专门用于图形渲染的API,可以实现高性能、高质量的图形渲染效果。 在Qt中使用OpenGL可以帮助开发者更好地利用硬件加速来实现图形渲染,提高程序的性能和效果。因此,学习QtOpenGL的结合使用对于想要开发高质量图形应用程序的开发者来说是非常有价值的。 关于QtOpenGL的书籍,市面上有很多优秀的选择。其中,一本非常经典的书籍是《Qt5与OpenGL开发实战指南》。这本书适合有Qt基础并对OpenGL感兴趣的开发者。书中介绍了使用QtOpenGL进行图形编程的基本原理和技巧,并通过丰富的实例演示了如何使用QtOpenGL实现各种图形效果和交互特性。 除了这本书之外,还有一些其他的书籍也值得推荐。例如,《OpenGL编程指南》是一本经典的OpenGL入门书籍,可以帮助开发者深入理解OpenGL的基本原理和使用方法。《Qt5开发及实例精解》是一本全面介绍Qt开发的书籍,其中也包含了一些关于QtOpenGL结合使用的内容。 总之,选择适合自己的QtOpenGL书籍,可以帮助开发者更好地掌握QtOpenGL的基本知识和技术,从而开发出更加高效、高质量的图形应用程序。 ### 回答3: Qt是一个跨平台的C++应用程序开发框架,它提供了丰富的图形界面和功能库,可以帮助开发者快速地构建高质量的应用程序OpenGL则是一个用于图形渲染的开放标准,通过与Qt结合使用,可以实现更高级的图形效果和游戏开发。 对于想深入学习QtOpenGL的开发者来说,有一些经典的书籍可以提供帮助。首先推荐《Qt编程开发实战》一书,该书详细介绍了Qt的基本概念和常用功能,让读者能够快速入门。接下来,可以阅读《QtOpenGL开发指南》,该书介绍了如何使用QtOpenGL创建高级图形应用程序,并深入解析了底层原理和技术细节。此外,《OpenGL超级宝典》是一本非常经典的OpenGL入门书籍,其中包含了许多实用的代码示例和案例讲解,对于理解OpenGL的基本原理和使用方法非常有帮助。 除了这些书籍,互联网上也有许多免费的教程和博客可以供开发者参考,例如《Qt官方文档》和《OpenGL教程》等。此外,参加一些相关的培训课程或者在线教育平台提供的课程,也是学习QtOpenGL的有效途径。最重要的是,实践是学习的关键,通过动手实践一些小项目,可以帮助开发者更好地理解和应用所学知识。 总的来说,QtOpenGL是非常强大的开发工具,在学习过程中可以参考一些经典的书籍和在线资源,结合实践经验,迅速掌握它们的使用方法和技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值