подскажет. В ошибке компиятора разобраться невозможно, какой-то enable_if забраковал эту перегрузку, а почему - непонятно
connect(ui->scroll, &QScrollBar::sliderMoved, ui->canvas, &QWidget::update);
scroll - QScrollBar, canvas - QWidget
А есть так? connect(ui->scroll, &QScrollBar::sliderMoved, this, [this](int value){ Q_UNUSED(value) ui->canvas->update(); });
Спасибо за подсказку! Так работает, и с void лямбдой тоже работает (без аргументов). Интересно бы еще понять, почему так, но хоть рабочее решение нашлось, я полчаса втыкал в эту ошибку
Вот так еще попробой connect(ui->scroll, &QScrollBar::sliderMoved, ui->canvas, QOverload<>::of(&QWidget::update)); Просто компилятор не знал какую перегрузку update выбрать. По доке разрешен слот с меньшим кол-вом аргументов, но если есть аргументы, сигнатуры должны совпадать
Точно!!! 13+ лет юзаю Qt, и никогда не замечал, что у update() ещё есть перегрузки, и не одна
Обсуждают сегодня