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"));
长风破浪会有时,直挂云帆济沧海!