Позвоните в слот другого класса - PullRequest
1 голос
/ 21 апреля 2010

Я хочу выполнить слот другого класса. Когда я выполняю этот код, его компиляция без каких-либо ошибок, но без получения Output

pendrive1::pendrive1()
{
    UI_CDBurn Obj; 
connect( Obj.penDrive, SIGNAL(clicked()),&Obj , SLOT(caller()));
}

Здесь мой слот не работает. Слот в UI_CDBurn является публичным. Но когда я позвонил с кнопкой в ​​классе pendrive1, он работал нормально

UI_CDBurn *Obj=new UI_CDBurn; 
connect( ui.pushButton, SIGNAL(clicked()),Obj , SLOT( caller())); // Working File

1 Ответ

2 голосов
/ 21 апреля 2010

Во-первых, что такое Pendrive? Это должен быть указатель на производный класс QObject с сигналом с именем clicked.

Полагаю, вы объявили сигнал clicked в классе [pendrive], но излучается ли он? Когда пользователь нажимает, вам нужно испустить сигнал clicked со следующей инструкцией:

emit clicked();

Здесь вы можете найти информацию об использовании пользовательских сигналов и слотов: http://doc.trolltech.com/4.5/signalsandslots.html.

...