создавать сигналы в пользовательском классе QSlider - PullRequest
0 голосов
/ 30 августа 2018

Я новичок в Qt и пытаюсь создать собственный класс QSlider (он наследуется от QSlider). Это прекрасно работает, но когда я пытаюсь создать новые сигналы и слоты, это не работает. На самом деле, я думаю, что это макрос Q_OBJECT, который не работает ... Действительно, я получаю это сообщение от компилятора:

erreur : 1 duplicate symbol for architecture x86_64 erreur : linker command failed with exit code 1 (use -v to see invocation)

Если я удаляю Q_OBJECT, это тоже не сработает, как говорят мне компиляторы:

erreur : Error: Class declaration lacks Q_OBJECT macro.

Наконец, если я наследую свой класс от QWidget, все будет работать, даже макрос Q_OBJECT ...

Вот мой .h код:

#include <QWidget>
#include <QSlider>

class mySlider : public QSlider
{
    Q_OBJECT
public:
    explicit mySlider();

signals:
    void test();

public slots:
    void nTest();
};

Вот мой .cpp код (ничего особенного, сейчас я только пытаюсь заставить этот простой код работать):

#include "myslider.h"

mySlider::mySlider()
{

}

void mySlider::test(){

}

void mySlider::nTest() {

}
...