Вариантов много, в зависимости от того, форма модальная или нет, и нужно ли каким-то моделям передавать сообщение «обновись».
Вариант 1.
class AddItem : public QWidget
{
public:
AddItem(QWidget* aParent, QList<Institution>& aInstitutions)
: QWidget(aParent), institutions(aInstitutions) {}
private:
QList<Institution>& institutions;
};
Во втором варианте у нас модальная форма, но редактировать можно только копию (например, институции первой формы задействованы в какой-то модели, или нужны каскадные удаления, или что-то ещё).
class AddItem : public QDialog
{
public:
int exec(QList<Institution>& aInstitutions);
private:
QList<Institution> institutions;
};
int AddItem::exec(QList<Institution>& aInstitutions)
{
institutions = aInstitutions;
int r = QDialog::exec();
if (r) {
aInstitutions = std::move(institutions);
}
return r;
}
И много-много других вариантов.