QObject的拷贝构造函数是私有的,当把其子类放入容器时无法完成构造其副本。

如下代码便会报错:



Mydata data("item1", "red");
QList<QObject> datalist;
datalist.append(data);


解决,以指针形式存储:



QList<QObject*> datalist;
datalist.append(new Mydata("item1", "red"));
datalist.append(new Mydata("item2", "green"));


 




长风破浪会有时,直挂云帆济沧海!