У меня есть QtChart в QDialog, и я использую простой QWidget, чтобы показать его на экране.Мне нужно изменить размер этого Харта всякий раз, когда размер диалогового окна изменяется пользователем.
Вот как я добавляю диаграмму в диалог (в конструкторе):
// Setup chart view to show the chart
mChartView = new QChartView(mChart, ui->widget);
mChartView->setParent(this);
mChartView->resize(ui->widget->size());
mChartView->setRenderHint(QPainter::Antialiasing);
Я переопределил resizeEvent
QDialog в моем собственном диалоге:
void CurveDialog::resizeEvent(QResizeEvent *event)
{
mChartView->resize(ui->widget->size());
}
Это работает, и график изменяется ... но проблема в том, что он ужасно медленный!потому что он будет изменять размер для всех шагов, которые пользователь перетаскивает в угол окна, чтобы изменить его размер!
Как я могу сделать изменение размера только тогда, когда изменение размера сделано?Я хотел использовать таймер, но это выглядит как грязный хак!есть идеи получше?