【发布时间】:2014-12-27 12:46:31
【问题描述】:
我使用 Qt Creator 向导(Windows 7,MinGW,64 位)创建了一个 Qt Widgets 项目。
然后我在主窗口中添加了一个按钮pbClick(带有mainwindow.ui)。
现在右键单击UI 按钮并单击Go to Slot。
这创建了以下函数:
void MainWindow::on_pbClick_clicked()
{
this->close();//added by me.
}
在 mainwindow.cpp 文件中。
程序运行良好。
现在我通过右键单击delete从用户界面中删除了按钮。
我手动删除了上面的函数MainWindow::on_pbClick_clicked()。
如果我尝试运行该程序,则会出现错误消息。
C:\QtProjects\QtWidgets\build-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中定义
如何完全删除按钮及其点击事件(插槽)。
【问题讨论】: