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()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM