bengone
29th December 2011, 11:35
I am having difficulty getting access to a QList element at class scope. Problem is only within paintEvent. What am I missing?
#include <QPainter>
#include <QList>
#include <QFrame>
#include <QRectF>
class Frame : public QFrame
{
private:
QList<QRectF> llist;
public:
Frame(QFrame *parent=0);
protected:
virtual void paintEvent(QPaintEvent *);
void tst();
};
void Frame::paintEvent(QPaintEvent *pe)
{
char m[20];
int size = 10;
// if this line is commented-out, no problem
size = llist.size(); // Crashes here
sprintf(m,"%d",size);
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
//painter.drawText(rect(), Qt::AlignCenter, "Qt");
painter.drawText(rect(), Qt::AlignCenter, m);
//painter.drawRect(l.at(0));
}
#include <QPainter>
#include <QList>
#include <QFrame>
#include <QRectF>
class Frame : public QFrame
{
private:
QList<QRectF> llist;
public:
Frame(QFrame *parent=0);
protected:
virtual void paintEvent(QPaintEvent *);
void tst();
};
void Frame::paintEvent(QPaintEvent *pe)
{
char m[20];
int size = 10;
// if this line is commented-out, no problem
size = llist.size(); // Crashes here
sprintf(m,"%d",size);
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
//painter.drawText(rect(), Qt::AlignCenter, "Qt");
painter.drawText(rect(), Qt::AlignCenter, m);
//painter.drawRect(l.at(0));
}