我正在尝试创建一个可以制作点图形的类。该类继承自QWidget。我希望它在QPixmap上绘制线条和点,这些线条和点将显示在QLabel中。
该类的构造函数如下所示:
MyClass::MyClass()
{
calcul_proprietes(); // Function that makes calculation of what to draw.
pix = new QPixmap(760,350);
dessiner_graphique(); // Function that does the drawing.
//Displaying the qpixmap
layout_principal = new QVBoxLayout(this);
label_pix = new QLabel(this);
label_pix->setPixmap(*pix);
layout_principal->addWidget(label_pix);
this->setLayout(layout_principal);
}
执行绘图的函数的一小部分
void MyClass::dessiner_graphique()
{
// ...
QPainter painter(pix);
QRect contour(x_depart,y_depart,largeur_grille,hauteur_grille);
painter.drawRect(contour);
// ...
}
我不想使用paintEvent函数,因为它一直被调用,我只需要绘制一次我的图形。我做错了什么?
答案 0 :(得分:0)
您是否在类构造函数之前调用了默认的基类构造函数?
MyClass( QObject *parent )
: QWidget( parent )
{
// Your posted code.
}