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() |
##########################
QQ 3087438119