Недавно начал изучать Qt  и решил попробовать написать будильник. Суть в следующем:есть класс будильник
class ring:public QObject{
    Q_OBJECT
private:
    int hour;
    int minute;
    QString ring_name;
public:
    ring(){
        hour=0;
        minute=0;
        ring_name="SomeName";
    }
public slots:
    void change_all_slot(int h, int m){
        hour=h;
        minute=m;
    }
};
В самой программе создается форма с полями
ring *n1=new ring();
QTextEdit *name_edit=new QTextEdit();
QTimeEdit *time_edit=new QTimeEdit();
QPushButton *save_button=new QPushButton(QString::fromLocal8Bit("Сохранить"));
QTime s=time_edit->time();
QObject::connect(save_button,SIGNAL(clicked()),n1,SLOT(change_all_slot(s.hour(),s.minute())));
в результате код выполняется, но с 
Object::connect: No such slot ring::change_all_slot(s.hour(),s.minute()) in ..\intime\main.cpp:49
и соответственно пользы от кнопки нет
если убрать передаваемые параметры в объявлении класса, и соответственно ничего не передавать, то этот слот видит=( 
Подскажите пожалуйста в чем ошибка