Решил тут после долгого перерыва поковыряться с Qt. Поставил Qt 5.9.2, QtCreator 4.4.1. И решил сделать проект с формами, генерируемыми в Designer. Раньше писал код вообще вручную, используя только программную генерацию форм.
Сделал две формы: первая - MainWindows, вторая - SettingsWindow. На первой есть кнопка settingsButton, при ее нажатии должна открываться вторая форма. Элементарно.
Но оказалось, что при нажатии кнопки, слот, законнекченный с сигналом clicked() этой кнопки, вызывается два раза!
Я даже сделал такой код в слоте:
C++ (Qt)
void MainWindow::on_settingsButton_clicked()
{
static int counter=1;
qDebug() << "Click to settings button" << counter;
counter++;
}
И при одном клике вижу в консоли две строчки:
Click to settings button 1
Click to settings button 2
Я перепроверил ui-файл в XML-виде, думал может там какой-то двойной коннект прописан, а дезигнер его не отображает? Нет, один коннект.
Тогда почему слот два раза дергается?
Минимальный проект прикреплен.