[решено] Qt QGLWidget

Модератор: Модераторы разделов

frp
Сообщения: 1445
ОС: Debian Squeeze

[решено] Qt QGLWidget

Сообщение frp »

Код: Выделить всё

class gw : public QGLWidget
{
    Q_OBJECT
public:
    QPixmap pm;
    int ang;
    gw ( QWidget * parent = 0, const QGLWidget * shareWidget = 0, Qt::WindowFlags f = 0 )
    : QGLWidget (parent,shareWidget,f)
    {}
protected:
    void paintEvent(QPaintEvent* e);
};

void gw::paintEvent(QPaintEvent *e)
{
    QPainter p;
    p.begin(this);
    p.translate(pm.width()/2,pm.height()/2);
    p.rotate(ang);
    p.translate(-pm.width()/2,-pm.height()/2);
    p.drawPixmap(0,0,pm);
    p.end();
}

Не работает. Отображается пустой экран. В чем проблема?
Спасибо сказали:
Аватара пользователя
Crazy
Сообщения: 862
Статус: Адепт Дзен.
ОС: Mint, Win7.

Re: [решено] Qt QGLWidget

Сообщение Crazy »

Вроде требуется перезапись initializeGL(), resizeGL(), paintGL().
Твой объект p удаляется после выхода из paintEvent().

Desipere in loco
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: [решено] Qt QGLWidget

Сообщение frp »

Crazy писал(а):
04.04.2010 00:59
Твой объект p удаляется после выхода из paintEvent().

Зачем painter хранить после завершения рисования?

Проблему решил - ошибка возникала в куске кода, инициализировавшего pm. В результате pm получался пустым.
Спасибо сказали: