Qt代码不编译时,我试图连接一个信号到插槽
Qt code does not compile when i try to connect one signal to a slot
我是Qt的新手,我正在尝试实现一个非常简单的计算器程序。只是想放一个按钮,当它被点击时,我希望它在下一行打印"Hello, World!"当我只有一个按钮时,它工作得很好,但当我添加第二个按钮时,它不会编译。因为我在编写计算器,所以我需要这些按钮。
错误如下:
C:UsersuserDesktopCalcbuild-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debugdebugmoc_mainwindow.o:-1: In function `ZN10MainWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv':
C:UsersuserDesktopCalcbuild-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debugdebugmoc_mainwindow.cpp:75: error: undefined reference to `MainWindow::on_pushButton_clicked()'
C:UsersuserDesktopCalcbuild-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debugdebugmoc_mainwindow.cpp:76: error: undefined reference to `MainWindow::on_pushButton_2_clicked()'
这是MainWindow
方法:
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);
}
,下面是我如何建立联系的:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
// this is the problematic part
void MainWindow::on_pushButton_11_clicked()
{
ui->lineEdit->setText("Hello, World!");
}
有人知道如何解决这个问题吗?感谢您的宝贵时间。
//这是有问题的部分
空白主窗口:on_pushButton_11_clicked ()
。
您错过了以下两个方法的实现:
MainWindow::on_pushButton_clicked()
{
ui->lineEdit->setText("Hello, World 2!");
}
和
MainWindow::on_pushButton_2_clicked()
{
ui->lineEdit->setText("Hello, World 3!");
}
所以,看起来你最终有三个槽而不是两个。您将需要按照自己的意愿来实现其他功能。请注意,上面的文本只是您计划在其中执行的任何操作的占位符。
相关文章:
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- 一个类中的QT信号/插槽,但从不同的线程发出
- 为什么即使在使用 Qt::D irectConnection 之后,接收器的线程中仍会调用插槽?如何确保在另一个线程中调用它?
- 连接另一个在Qt中不起作用的类的插槽
- 是否可以将一个类别的插槽或常规功能从一个类连接到另一个类的插槽或常规功能?(QT)
- qnetworkAccessManager一个实例并连接插槽
- 将一个信号连接到多个插槽 Qt
- Qt移动插槽功能到另一个cpp文件
- 将一个对象的所有QT信号动态映射到一个插槽
- Qt - 解决一个插槽上的两个顺序调用,并且仅执行一次操作
- Qt:从一个对象发出相同的信号,但参数不同;插槽通过接收的参数进行区分
- Qt-有没有一种方法可以获得一个类中所有自定义插槽和信号的列表
- 如何使用信号和插槽从qt表单中获取id,然后在链表中搜索它并使用另一个表单显示结果
- Qt将GUI类中的方法连接到另一个类中的插槽
- 使用Qt信号和插槽更改另一个类的标签文本
- Qt:使用信号和插槽从另一个类调用MainWindow::Ui
- QSignalManager-无法将多个信号连接到一个插槽
- 如何在退出时调用一个插槽
- 如何使用 QWaitCondition 实现永久运行的 QThread,但在执行此操作时仍然需要捕获另一个插槽
- Qt/ c++如何在信号发出时等待一个插槽