QByteArray array; QDataStream data(&array, QIODevice::ReadWrite); data << services.size(); foreach(Service* service, services){ data << *service; }
QVariant var = settings->value("services"); QByteArray array; array =var.value<QByteArray>(); QDataStream data(&array,QIODevice::ReadWrite); int size; data>> size; for(int i=0; i<size;i++){ Service *service = new Service(); data >> *service; services.append(service); }
QListIterator<Service*> i(services); while(i.hasNext()){ Service *service = new Service(); service = i.next(); QListWidgetItem * item= new QListWidgetItem(service->getName()); item->setSizeHint(QSize(300, 100)); item->setTextAlignment(Qt::AlignCenter); QVariant var; var.setValue(service); item->setData(Qt::UserRole, var); ui->listWidget->addItem(item); }
Service *service= new Service(); service = (item->data(Qt::UserRole).value<Service*>()); ConfigWindow *configwindow = new ConfigWindow(service, this); configwindow->show();