QGLWidget

QGLWidget 

QGLWidget类是一个用于呈现OpenGL图形的小部件。

QGLWidget提供了显示集成到Qt应用程序中的OpenGL图形的功能。它使用起来非常简单。您可以从它继承并像使用任何其他QWidget一样使用子类,但您可以选择使用QPaint和标准OpenGL渲染命令。

注意:这个类是传统Qt OpenGL模块的一部分,和其他QGL类一样,应该避免在新的应用程序中使用。相反,从Qt5.4开始,更喜欢使用QOpenGLWidget和QOpenGL类。

QGLWidget提供了三个方便的虚拟函数,您可以在子类中重新实现这些函数,以执行典型的OpenGL任务:

 

paintGL()-渲染OpenGL场景。每当小部件需要更新时调用。

resizeGL()-设置OpenGL视口、投影等。每当小部件调整大小时(以及首次显示时,因为所有新创建的小部件都会自动获得调整大小事件),都会调用该小部件。

initializeGL()-设置OpenGL渲染上下文,定义显示列表等。在第一次调用resizeGL()或paintGL()之前调用一次。

 

 

Public Functions

 

QGLWidget(QWidget *parent = nullptr, const QGLWidget *shareWidget = nullptr, Qt::WindowFlags f = ...)
  QGLWidget(QGLContext *context, QWidget *parent = nullptr, const QGLWidget *shareWidget = nullptr, Qt::WindowFlags f = ...)
  QGLWidget(const QGLFormat &format, QWidget *parent = nullptr, const QGLWidget *shareWidget = nullptr, Qt::WindowFlags f = ...)
virtual ~QGLWidget()
GLuint bindTexture(const QImage &image, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA)
GLuint bindTexture(const QPixmap &pixmap, GLenum target, GLint format, QGLContext::BindOptions options)
GLuint bindTexture(const QImage &image, GLenum target, GLint format, QGLContext::BindOptions options)
GLuint bindTexture(const QPixmap &pixmap, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA)
GLuint bindTexture(const QString &fileName)
const QGLColormap & colormap() const
QGLContext * context() const
void deleteTexture(GLuint id)
void doneCurrent()
bool doubleBuffer() const
void drawTexture(const QRectF &target, GLuint textureId, GLenum textureTarget = GL_TEXTURE_2D)
void drawTexture(const QPointF &point, GLuint textureId, GLenum textureTarget = GL_TEXTURE_2D)
QGLFormat format() const
QImage grabFrameBuffer(bool withAlpha = false)
bool isSharing() const
bool isValid() const
void makeCurrent()
void makeOverlayCurrent()
const QGLContext * overlayContext() const
void qglClearColor(const QColor &c) const
void qglColor(const QColor &c) const
QPixmap renderPixmap(int w = 0, int h = 0, bool useContext = false)
void renderText(int x, int y, const QString &str, const QFont &font = QFont())
void renderText(double x, double y, double z, const QString &str, const QFont &font = QFont())
void setColormap(const QGLColormap &cmap)
void swapBuffers()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

##########################

posted @ 2021-11-30 07:47  西北逍遥  阅读(1118)  评论(0编辑  收藏  举报