C++ 当我尝试将一个信号连接到插槽时,Qt代码不会编译
我是新来的。我正在尝试实现一个非常简单的计算器程序。只是试着放一个按钮,当它点击时,我希望它打印“你好,世界!”到下一行编辑。当我只有一个按钮时,它可以正常工作,但当我添加第二个按钮时,它无法编译。因为我在编计算器,所以我需要这些按钮 以下是错误:C++ 当我尝试将一个信号连接到插槽时,Qt代码不会编译,c++,qt,qtcore,qlineedit,qt-signals,C++,Qt,Qtcore,Qlineedit,Qt Signals,我是新来的。我正在尝试实现一个非常简单的计算器程序。只是试着放一个按钮,当它点击时,我希望它打印“你好,世界!”到下一行编辑。当我只有一个按钮时,它可以正常工作,但当我添加第二个按钮时,它无法编译。因为我在编计算器,所以我需要这些按钮 以下是错误: C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.o:-1: In function `ZN10MainWind
C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.o:-1: In function `ZN10MainWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv':
C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.cpp:75: error: undefined reference to `MainWindow::on_pushButton_clicked()'
C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.cpp:76: error: undefined reference to `MainWindow::on_pushButton_2_clicked()'
以下是main窗口
方法:
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_pushButton_clicked(); break;
case 1: _t->on_pushButton_2_clicked(); break;
case 2: _t->on_pushButton_11_clicked(); break;
default: ;
}
}
Q_UNUSED(_a);
}
有人知道如何解决这个问题吗?谢谢你抽出时间
//这是有问题的部分
void主窗口::在按钮上点击11
的确如此
您缺少以下两种方法的实现:
MainWindow::on_pushButton_clicked()
{
ui->lineEdit->setText("Hello, World 2!");
}
及
所以,看起来你最终有三个插槽而不是两个。您需要根据自己的愿望实施其他计划。请注意,上面的文字只是您计划在其中执行的任何操作的占位符。啊,谢谢!我想当我删除一个旧连接时,Qt Creator也会从代码中删除。@AtakanArıkan:是的,如果您不需要它们,只需删除它们在标题中的声明,然后重新生成moc文件。
MainWindow::on_pushButton_clicked()
{
ui->lineEdit->setText("Hello, World 2!");
}
MainWindow::on_pushButton_2_clicked()
{
ui->lineEdit->setText("Hello, World 3!");
}