**步骤一:**pro文件中添加 LIBS += -L -llibfreeglut -lopengl32
文章图片
步骤二:新建一个类并继承opengl
文章图片
三:代码
.h文件
#ifndef MYOPENGLWIDGET_H
#define MYOPENGLWIDGET_H#include
#include
#include
#include"QOpenGLFunctions"
class MyOpenGLwidget:public QOpenGLWidget,protected QOpenGLFunctions
{
Q_OBJECT
public:
MyOpenGLwidget(QWidget *parent=nullptr);
public:
void initializeGL() Q_DECL_OVERRIDE;
void paintGL() Q_DECL_OVERRIDE;
void resizeGL(int width,int height) Q_DECL_OVERRIDE;
};
#endif // MYOPENGLWIDGET_H
【QT-openGL学习-绘制平面图形】cpp文件
#include "myopenglwidget.h"MyOpenGLwidget::MyOpenGLwidget(QWidget *parent) : QOpenGLWidget(parent)
{}void MyOpenGLwidget::initializeGL()
{
initializeOpenGLFunctions();
glClearColor(0,0,0,1);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
}void MyOpenGLwidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_QUADS);
//四边形绘制glVertex3f(-50, -50, 0);
glVertex3f( 50, -50, 0);
glVertex3f( 50,50, 0);
glVertex3f( -50,50, 0);
glEnd();
}void MyOpenGLwidget::resizeGL(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-width/2,width/2,-height/2,height/2,-1,1);
glMatrixMode(GL_MODELVIEW);
}
推荐阅读
- Qt|Qt常用UI控件读取、写入方法
- Qt|Qt For Android 之启动页
- QT|QT面试
- QT安装
- qt|qt for android实现app内通过按键后台运行程序
- qt|qt for android程序保活 程序后台一直运行不被清理掉(未完)
- QWidget实现手机ipad屏幕滑屏效果
- Qt|Qt官方示例-QML Axes
- 在QT/QML中使用FontAwesome做图标显示
- QT|QtCreator2.7.0桌面快捷方式创建过程