Слот Qt и наследование классов - PullRequest
0 голосов
/ 27 декабря 2011

В родительском классе у меня есть настройка слота в конструкторе:

  Class DummyParent 
{
     protected:
        QWebPage page;

     public slots:
          DummyParent() 
          {
              connect (&page , SIGNAL(...) , SLOT(replyFinir(bool));
          } 

          void replyFinir (bool ok)
          {
               // handle reply messages
          }
  };

Теперь у меня есть другой класс, производный от DummyParent:

class DummyChild
{ 
    public slots:
        void replyFinir (bool ok)
        {

        }
}

Теперь у меня проблема, так какнастройка слота в конструкторе DummyParent, поэтому он подключается к старому, а не к текущему обработчику.

Как я могу позволить DummyChild :: page вызывать свою собственную функцию replyFinir (bool)?

1 Ответ

4 голосов
/ 27 декабря 2011

Вы забыли virtual в базовом классе replyfinir?

Поочередно просто отключите / повторно подключите сигнал в производном классе ctor

...