【问题标题】:How to remove a button with its slot in Qt Widgets如何在 Qt Widgets 中删除带有插槽的按钮
【发布时间】: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中定义

如何完全删除按钮及其点击事件(插槽)。

【问题讨论】:

    标签: c++ qt widget


    【解决方案1】:

    确保您已删除 MainWindow.h 标头中对 on_pbClick_clicked() 函数的引用及其实现 MainWindow.cpp

    如果没有其他引用,请运行qmake,它可以在“构建”菜单下找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 2011-04-17
      • 2021-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多