Qt Custom Slots - PullRequest
       21

Qt Custom Slots

2 голосов
/ 29 октября 2011

Почему не работает слот Reset ()?Я хочу, чтобы кнопка «Сброс» сбрасывала значение боковой стрелки на ноль.

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()) );

1 Ответ

6 голосов
/ 29 октября 2011

Попробуйте добавить Q_OBJECT в приватный раздел класса. Это заставит moc создать метаданные, необходимые для работы сигналов и слотов. Смотри http://doc.qt.io/archives/qt-4.7/qobject.html#Q_OBJECT

...