从不同的功能编辑相同的 QList

Edit the same QList from different functions

本文关键字:QList 编辑 功能      更新时间:2023-10-16

我有一个存储在一个类中的QList,该类拥有一个指向另一个类的实例的指针,该类具有一些编辑QList的函数。我想做的是让一个 QList 可以从C++中的多个类中编辑。当我从列表中删除一个元素时,我也想将其从类 A 中的 myvariable 变量中删除。代码如下

class classA {
    ...
private:
    ClassB *myclass;
    QList<mytype> myvariable;
}
class classB {
    classB::classB(QList<mytype> &variable) {
        this->myvariable = variable;
    }
    ...
private:
    QList<mytype> myvariable;
}

你非常接近只是几个调整。 myvariable引用,并在类 B 的构造函数中对其进行初始化,如下所示:

class classB 
{
  classB(QList<mytype> &variable) 
   : myvariable(variable)
  {
  }
private:
   QList<mytype>& myvariable;
}

你可以引入一个包含静态qlist的类c。然后使其成为类 a 和 b 的公共子类。

编辑:

class classC {
protected:
    static QList<mytype> mystatic;
}    
class classA : public classC {
private:
}
class classB : public classC {
    classB::classB(QList<mytype> &variable) {
        mystatic = variable;
    }
}