Я пытаюсь создать класс, который будет делать точечную графику. Класс наследуется от 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, потому что она вызывается все время, и мне нужно, чтобы моя графика была нарисована только один раз. Что я делаю не так?
layout
иpixmap
в качестве переменных-членов, или вы также используете их позже? - person p.i.g.   schedule 27.05.2015