QCustomPlot и функция paintEvent
В проекте рисую графики с помощью QCustomPlot. Графики рисуются, я счастлив. Захотелось мне нарисовать отдельный прямоугольник не связанный с QCustomPlot. Раньше делал так: 1) В классе QMainWindow делал переопределение для paintEvent:
protected:
void paintEvent(QPaintEvent*) override;
2) Потом в mainwindow.cpp делал определение функции paintEvent:
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter painter;
QBrush brush;
QColor color(0, 0, 255);
painter.begin(m_mainWidget);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 2, Qt::SolidLine)); // Обрисовка.
color.setRgb(100, 0, 0); // Настройка цвета.
brush.setColor(color); // Применение настроек цвета.
brush.setStyle(Qt::SolidPattern); // Настройка стиля заливки.
painter.setBrush(brush); // Заливка.
painter.drawRect(QRect(m_mainWidget->width()-100, m_mainWidget->height()-100, 200, 200)); // Прорисовка прямоугольника.
painter.end();
}
3) Где надо, например по нажатию кнопки, вызывал функцию repaint() и всё рисовалося.
Но тут не заработало. Отладчик просто не переходит в мой paintEvent. Покопал в QCustomPlot, оказалось в библиотеке тоже используется paintEvent. И когда я вызываю в своей программе repaint(), то происходит переход в paintEvent, который переопределён в QCustomPlot, а не в мой. Я понимаю, что можно запихнуть своё рисование в библиотеку, но не хочется пачкать библиотечный файл. Помогите убогому сделать правильно.