A this time, no. I have just written this piece of code.
{
Q_OBJECT
public:
Qt::WindowFlags argFlags = 0 );
signals:
void sizeChanges
(QSize const
&);
void doubleClick
(QPoint const
&);
protected:
void initializeGL();
void resizeGL(int argWidth, int argHeight);
void paintGL();
};
class GLWidget :public QGLWidget
{
Q_OBJECT
public:
GLWidget(QWidget* argParent = 0,
const QGLWidget* argShareWidget = 0,
Qt::WindowFlags argFlags = 0 );
signals:
void sizeChanges(QSize const&);
void doubleClick(QPoint const&);
void click(QPoint const&);
protected:
void initializeGL();
void resizeGL(int argWidth, int argHeight);
void mouseDoubleClickEvent(QMouseEvent* event);
void mouseReleaseEvent(QMouseEvent* event);
void paintGL();
};
To copy to clipboard, switch view to plain text mode
#include "../include/GLWidget.h"
GLWidget
::GLWidget(QWidget* argParent,
Qt::WindowFlags argFlags)
argShareWidget,
argFlags)
{
}
void GLWidget::initializeGL()
{
}
void GLWidget::resizeGL(int argWidth, int argHeight)
{
emit sizeChanges
(QSize(argWidth, argHeight
));
}
void GLWidget::paintGL()
{
}
void GLWidget
::mouseDoubleClickEvent(QMouseEvent* event
) {
emit doubleClick(event->pos());
}
{
emit click(event->pos());
}
#include "../include/GLWidget.h"
GLWidget::GLWidget(QWidget* argParent,
const QGLWidget* argShareWidget,
Qt::WindowFlags argFlags)
:QGLWidget(argParent,
argShareWidget,
argFlags)
{
}
void GLWidget::initializeGL()
{
}
void GLWidget::resizeGL(int argWidth, int argHeight)
{
emit sizeChanges(QSize(argWidth, argHeight));
}
void GLWidget::paintGL()
{
}
void GLWidget::mouseDoubleClickEvent(QMouseEvent* event)
{
emit doubleClick(event->pos());
}
void GLWidget::mouseReleaseEvent(QMouseEvent* event)
{
emit click(event->pos());
}
To copy to clipboard, switch view to plain text mode
I've believed, an instant, it's because my OpenGL implementation is 4.1 and Qt 4.6.3 wouldn't recognize OpenGL 4.1 because of enum QGLFormat::OpenGLVersionFlag's definition.
About glGetString(). The problem is over. I've discovered glContext is inititialized in after QGLWidget() constructor. In paintGL(), it works well.
Bookmarks