![](/img/trans.png)
[英]Qt how to make a button responsive when the slot connected to its clicked() signal is running?
[英]How to remove a button with its slot in Qt Widgets
我使用Qt Creator向导创建了一个Qt Widgets项目(Windows 7,MinGW,64位)。 然后我在主窗口中添加了一个按钮pbClick
(使用mainwindow.ui)。 现在右键单击UI
pushButton并单击Go to Slot
。 这创建了以下功能:
void MainWindow::on_pbClick_clicked()
{
this->close();//added by me.
}
在mainwindow.cpp文件中。
该计划工作正常。
现在我通过右键单击删除从用户界面删除了按钮。
我手动删除了上面的函数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
定义
如何完全删除按钮及其单击事件(插槽)。
确保您已删除MainWindow.h
标头中on_pbClick_clicked()
函数的引用及其实现MainWindow.cpp
。
如果没有其他引用,请运行qmake
,可以在“Build”菜单下找到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.