OpenGL——配置QT中的OpenGL环境

1.下载QT

     地址:http://download.qt.io/official_releases/qt/5.6/5.6.1-1/

    下载的对象为:qt-opensource-windows-x86-mingw492-5.6.1-1.exe

2.安装

    按照一步一步走就可以了

3.建立项目

4.在项目中对pro文件进行配置

5.代码

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QtOpenGL/qgl.h>
#include<GL/gl.h>
#include<GL/glu.h>

namespace Ui {
class Widget;
}

class Widget : public QGLWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    void initializeGL();
    void resizeGL(int w, int h);
    void paintGL();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"

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

Widget::~Widget()
{
    delete ui;
}


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);
    glVertex3f(-2,0,0);
    glVertex3f(2,0,0);
    glVertex3f(0,4,0);
    glEnd();
    glFlush();
}

6.效果

猜你喜欢

转载自blog.csdn.net/qq_28474981/article/details/82812494