【问题标题】:Qt slot and class inheritationQt 插槽和类继承
【发布时间】:2011-12-27 03:10:56
【问题描述】:

在父类中,我在构造函数中有一个插槽设置:

  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) 函数?

【问题讨论】:

  • 到处都有 Q_OBJECT 宏? (特别是在派生类中)

标签: qt qt4 signals-slots qt4.7


【解决方案1】:

你忘记了基类replyfinir中的virtual吗?

或者只是断开/重新连接派生类ctor中的信号

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多