c++ - qt中的信号槽给出错误

标签 c++ qt

我写了一个简单的信号槽。其中我的成员对象信号连接到类的插槽。我收到错误

我已经给出了下面的代码......如果我在构造函数中保留连接,那么我也会得到错误。

#ifndef COUNTER_H
#define COUNTER_H
#include <QObject>
#include <QTextEdit>

class Counter : public QObject
{
    Q_OBJECT

public:
    Counter()
    {
        m_value = 0;
    }

    int value() const
    {
        return m_value;
    }

public slots:
    void setValue(int value);
    void callSetValue();

signals:
    void valueChanged(int newValue);

private:
    int m_value;
    QTextEdit m_text;
};

#endif // COUNTER_H

//计数器.cpp

#include "counter.h"

void Counter::setValue(int value)
{
    QObject::connect (&m_text, SIGNAL(textChanged()), this, SLOT(callSetValue()));

    qDebug("setValue invoked");
    if (value != m_value)
    {
        m_value = value;
        m_text.setText("hai");
        emit valueChanged(value);
        qDebug("emited signal");
    }
}

void callSetValue()
{
    qDebug("callSetValue() invoked");
}

给我错误“对‘Counter::callSetValue()’的 undefined reference

最佳答案

counter.cpp的底部修改

void callSetValue()

void Counter::callSetValue()

关于c++ - qt中的信号槽给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22929172/

相关文章:

c++ - 如何在 C++ 程序中使用参数为 "this"的 C 函数?

c++ - 根据从 Qt 中的 XML 表单中读取的字符串更改 Widget 的名称

java - Qt 如何在 Android 上运行?

c++ - Qt - 使用 QString::arg 将文本对齐到列中

c++ - Qt 顶点数组不适用于 QImage

c++ - cygwin 的 <ctime> 中的 timer_t?

c++ - 将模板参数从类型更改为非类型如何使 SFINAE 工作?

c++ - 使用 STL C++ 制作传递对集

qt - QJsonDocument - 缩进值

c++ - Qt 的 nativeEvent() 从未被调用