qt 中的信号槽给出错误

Signal slot in qt giving error

本文关键字:出错 错误 信号 qt      更新时间:2023-10-16

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

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

#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.cpp更改的底部

void callSetValue()

void Counter::callSetValue()

您是否尝试过重新运行 qmake?如果您在未再次运行 qmake 的情况下修改信号或插槽,则可能无法生成信号代码。

相关文章: