guidupas
26th May 2014, 15:49
Hello all!
I need to subclass QWidget, but its not working. When I call the function desenhaFluxo(), it returns the error:
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active
How can I do that?
#include "fluxocaixawidget.h"
fluxoCaixaWidget::fluxoCaixaWidget(QWidget *parent) :
QWidget(parent)
{
}
void fluxoCaixaWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPen caneta(Qt::black);
caneta.setWidth(4);
painter.setPen(caneta);
painter.drawLine(20, this->parentWidget()->height() / 2 - 20, this->parentWidget()->width()-40, this->parentWidget()->height() / 2 - 20);
}
void fluxoCaixaWidget::desenhaFluxo()
{
QPainter painter(this);
QPen caneta(Qt::black);
caneta.setWidth(4);
painter.setPen(caneta);
painter.drawLine(10,10,50,10);
}
I need to subclass QWidget, but its not working. When I call the function desenhaFluxo(), it returns the error:
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active
How can I do that?
#include "fluxocaixawidget.h"
fluxoCaixaWidget::fluxoCaixaWidget(QWidget *parent) :
QWidget(parent)
{
}
void fluxoCaixaWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPen caneta(Qt::black);
caneta.setWidth(4);
painter.setPen(caneta);
painter.drawLine(20, this->parentWidget()->height() / 2 - 20, this->parentWidget()->width()-40, this->parentWidget()->height() / 2 - 20);
}
void fluxoCaixaWidget::desenhaFluxo()
{
QPainter painter(this);
QPen caneta(Qt::black);
caneta.setWidth(4);
painter.setPen(caneta);
painter.drawLine(10,10,50,10);
}