Qt signalsカスタム信号を使用中にエラー:error LNK 209:解析できない外部シンボル
671 ワード
エラー:
signalsの下の関数は認識できません.定義されていないことのみを宣言するのと同じです.しかし、その原因ではない.
理由:
クラスを作成するときにQWidgetを継承して作成するのではなく、自分でQWidget親クラスを追加するので、クラス宣言の上部にQ_を追加しませんでした.OBJECT.
例えば下図、追加すればいいです.
説明:
signalsとslotsを含むすべてのクラスにはQ_が含まれている必要があります.OBJECTは宣言の上部にあり、QObject(直接または間接)から継承する必要があります.
参考資料:
https://doc.qt.io/qt-5/signalsandslots.html
signalsの下の関数は認識できません.定義されていないことのみを宣言するのと同じです.しかし、その原因ではない.
理由:
クラスを作成するときにQWidgetを継承して作成するのではなく、自分でQWidget親クラスを追加するので、クラス宣言の上部にQ_を追加しませんでした.OBJECT.
例えば下図、追加すればいいです.
#include
class Counter : public QObject
{
Q_OBJECT
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
private:
int m_value;
};
説明:
signalsとslotsを含むすべてのクラスにはQ_が含まれている必要があります.OBJECTは宣言の上部にあり、QObject(直接または間接)から継承する必要があります.
参考資料:
https://doc.qt.io/qt-5/signalsandslots.html