yay, finally osx (and likely windows) fullscreen switch works like on linux! ALL textures had to be destroyed and recreated only after the new window got created. In other news, the new window must be cleaned with glClear to skip a first frame of garbage and AddProgress is only called the first time.
#include <QLabel>
#include <QRect>
#include <QList>
#include <QMouseEvent>
class PixLabel : public QLabel
{
Q_OBJECT
public:
PixLabel();
QList<QRect> rects;
public slots:
void AddRect();
private:
void paintEvent(QPaintEvent * event);
void mousePressEvent(QMouseEvent * e);
};