Есть форма, на которой есть Label. Нужно обновлять его раз в секунду (выводить время).
Есть функция setTime, которая получает время от другой функции и выводит на форму:
void setTime(Ui::panel* ui, bool showSeconds) {
QString currentTime = clockApplet::getCurrentTime(showSeconds);
ui->timeLabel->setText(currentTime);
}
Нужно делать это раз в секунду, поэтому использую QTimer.
void setRepeatingActions(Ui::panel* ui, panel* w) {
QTimer* timeSetTimer = new QTimer();
timeSetTimer->setInterval(1000);
if (!config["showSeconds"].toBool()) {
//! w->connect(timeSetTimer, SIGNAL(timeout()), w, SLOT(setTime(ui,false)));
//! w->connect(timeSetTimer, &QTimer::timeout, w, setTime(ui,false));
}
else {
}
timeSetTimer->start();
}
Оба варианта под восклицательным знаком не работают. В первом случае все компилируется, но в консоль падает: No such slot panel::setTime(ui,false). Во втором случае ему в принципе аргументы функции connect() не нравятся, no matching member function for call to ‘connect’. Подскажите, пожалуйста, что сделать, чтобы исправить.