在自定义QSlider类中创建信号

时间:2018-08-30 12:20:57

标签: c++ qt c++11 qt5

我是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() {

}

0 个答案:

没有答案