Не пойму в чем проблема, если не инициализировать point_y в конструкторе то все работает, а если инициализировать, то программма вылетает с ошибкой.
class myDraw : public QWidget {
Q_OBJECT
protected:
int point_x,Y23;
virtual void paintEvent(QPaintEvent*);
public:
myDraw (QWidget* pwgt = 0);
public slots:
void on_pushButton_clicked();
};
#include <QtGui>
#include "myDraw.h"
myDraw::myDraw(QWidget* pwgt):QWidget(pwgt),point_x(0),point_y(0)
{
QPushButton* draw = new QPushButton("try");
QObject::connect(draw,SIGNAL(clicked()),
SLOT(on_pushButton_clicked()));
QHBoxLayout* phbxLayout = new QHBoxLayout;
phbxLayout->addWidget(draw);
setLayout(phbxLayout);
}
void myDraw::paintEvent(QPaintEvent *)
{
QPainter p( this );
p.setRenderHint(QPainter::Antialiasing,true);
p.setPen(QPen(Qt::red,3,Qt::SolidLine));
p.drawLine(QPointF(point_x,10),QPointF(10,500));
}
void myDraw::on_pushButton_clicked()
{
point_x = 20;
repaint();
}