English 中文(简体)
在Qt,我如何利用Q_OBJECT和带有多重遗产的信号?
原标题:In Qt, how do I use Q_OBJECT slots and signals with multiple inheritance?
  • 时间:2009-09-28 20:39:26
  •  标签:

我审视了相关问题,找不到任何东西能够确切地解决我所谈论的问题,因此让我描述。

我有一个班子,我要说的是 f,需要有自己的位置和信号,但也需要继承QXmlDefaultHandler(声音相当奇怪,但我在试图将QHttp直接读到QBuffer时遇到了这种情况。

class foo: public QXmlDefaultHandler, public QObject
{
    public:
        foo();
        ~foo();

       Q_OBJECT
   public slots:
       void bar();
}

该法典如果附有一条把酒吧与其他地方的信号连接起来的灯塔,则不会编纂。 你拿不出QObject不是QXmlDefaultHandler的成员的错误。 此外,你可以调换Q_OBJECT,否则你会因不执行某些事情而出现错误(正好!) 审判!

请见我对(非常简单)固定办法的答复。 如果我认为你比我做的更好解释的话,我将认为你是可以接受的答案。

编辑:如果你能更好地解释,请回答。 i 花了相当长的时间来研究这一因素,如果你能够做得比我好,请帮助别人。

最佳回答
问题回答
class foo: public QObject, public QXmlDefaultHandler
{
    public:
        foo();
        ~foo();
   Q_OBJECT
   public slots:
       void bar();
}

简单地说,如果你不首先把QObject列入继承名单,这项任务是不可能的。 它限制Qt s meta物体系统。 如果你不这样做,汇编者将设法将QObject的某些成员作为QXmlDefaultHandler的一部分。





相关问题
热门标签