Я создал проект Qt Widgets с помощью мастера Qt Creator (Windows 7, MinGW, 64 бит). Затем я добавил кнопку в главное окно (с mainwindow.ui). Теперь щелкнул правой кнопкой мыши и нажал на Перейти на Слот. Это создало функциюКак удалить кнопку со своим слотом в Qt Widgets
void MainWindow::on_pbClick_clicked()
{
this->close();//added by me.
}
в файле mainwindow.cpp.
Программа работает нормально.
Теперь я удалил кнопку из пользовательского интерфейса, щелкнув правой кнопкой мыши удалить.
И я удалил вышеуказанную функцию MainWindow::on_pbClick_clicked()
вручную.
Если я попытаюсь запустить программу, появится сообщение об ошибке.
C: \ QtProjects \ QtWidgets \ встроенный QtWidgetsTest-Desktop_Qt_5_3_MinGW_32bit-Debug \ Debug \ moc_mainwindow.cpp: 67: ошибка: неопределенная ссылка на `MainWindow :: on_pbClick_clicked()
Ошибка приходит в следующая функция
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
MainWindow *_t = static_cast<MainWindow *>(_o);
switch (_id) {
case 0: _t->on_pbClick_clicked(); break;
default: ;
}
}
Q_UNUSED(_a);
}
определены в moc_mainwindow.cpp
Как удалить кнопку вместе с кнопкой мыши событие (слот) полностью.