Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt自定义插槽_C++_Qt_Slider_Signals Slots_Qt Signals - Fatal编程技术网

C++ Qt自定义插槽

C++ Qt自定义插槽,c++,qt,slider,signals-slots,qt-signals,C++,Qt,Slider,Signals Slots,Qt Signals,插槽重置()为什么不起作用?我想用“重置”按钮将sider的值重置为零 class MySlider : public QSlider { public: MySlider(Qt::Orientation orientation, QWidget *parent = 0) : QSlider(orientation parent){} public slots: void Reset() { this->setValue(0); } }; /

插槽重置()为什么不起作用?我想用“重置”按钮将sider的值重置为零

class MySlider : public QSlider
{
   public:
    MySlider(Qt::Orientation orientation, QWidget *parent = 0) : QSlider(orientation parent){}

   public slots:
   void Reset()
   {
   this->setValue(0);
   }
};

//it doesnt work when i try this

MySlider * Slider = new MySlider(Qt::Horizontal, this);

QPushButton *Reset = new QPushButton(tr("Reset"), this);

connect(Reset, SIGNAL(clicked()), Slider, SLOT(Reset()) );

尝试将
Q_对象
添加到类的私有部分。这将导致
moc
创建信号和插槽工作所需的元数据。请参见连接返回什么?如果插槽设置正确,它应该返回true我尝试了Q_GADGET(因为我需要它是一个QSlider子类),但它不起作用哇,我以前从未遇到过Q_GADGET,实际上,我必须去查一下:)QSlider是一个QObject,QSlider的子类也是,所以请使用Q_OBJECT。@ArnoldSpence当我在类的私有部分尝试QObject时,我得到了以下错误:未定义对“vtable for MySlider”的引用。解决这个问题error@Geore:
QSlider
QObject
的后代,因此
Q\u OBJECT
是正确的选择,而不是
Q\u GADGET