2011-12-27 3 views
0

親クラスでは、私はコンストラクタでスロットを設定している:Qtのスロットとクラスinheritation

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(ブール)関数と呼ぶにはどうすればいいですか?

+0

Q_OBJECTマクロはどこにいらっしゃいましたか? (派生クラスの場合は特に) –

答えて

4

基本クラスreplyfinirにvirtualをお忘れですか?

派生クラスのシグナルを切断/再接続する

+0

virtualは作業を行う必要があります –

関連する問題