QT OpenGL как отрисовать линию массивом?
Копипаст это плохо(если не знаешь, что копипастиш)!-glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0);
+glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);
Вы рисуете линии, следовательно, нужно только 2значения из буфера, а не 4. Подозреваю, что в примере рисовали квадраты:)
З.Ы. Тестировал в OpenTK, все заработало.
UPD. Извиняюсь за задержку как-то долго я не заходил в linux. Возможно я опоздал, но все равно код будет полезет тем кто прийдет сюда из гугла. Тестировал я ваш код таким образом:#include "widget.h"

Widget::Widget(QWidget *parent)
    : QOpenGLWidget(parent)
{
}
GLuint VBO;
GLfloat arr[4];

void Widget::initializeGL()
{
    glewExperimental = true;
    glewInit();
    glClearColor(0,0,0,1);
    glColor3f(1,1,1);

    arr[0] = -1;
    arr[1] = -1;
    arr[2] = 1;
    arr[3] = 1;

    glGenBuffers( 1, &VBO);
    glBindBuffer(GL_ARRAY_BUFFER, VBO);
    glBufferData(GL_ARRAY_BUFFER, sizeof(arr), arr, GL_STATIC_DRAW);
    glEnableVertexAttribArray(0);
}

void Widget::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glLoadIdentity();

    glColor4f(1.0f, 0.0, 0.0, 1.0);
    glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);

    glDrawArrays(GL_LINES, 0, sizeof(arr));
}

void Widget::resizeGL(int w, int h)
{
    glViewport(0,0,w,h);
}
Не важно с какими библиотеками OpenGL находится в связке, код, в принципе, будет везде одинаков.
Посмотрите в книге "OpenGL супер книга" там есть описание данной функции(glDrawArrays).
Так же можно взглянуть на проект там используется данная функция.