Zapisywanie danych programu do pliku to nie jest nic odkrywczego
Po prostu musicie zapisać do pliku wszystkie dane wymagane do odtworzenia stanu programu.
Qt posiada przyjemne klasy do tworzenia i czytania plików JSON.
Podejrzewam, że jedna "myśl" posiada napis, położenie, rozmiar oraz odnośniki do innych myśli. Wystarczy przeiterować po wszystkich myślach, stworzyć obiekty QJsonObject zawierające opis myśli i wrzucić to do pliku.
Podczas odczytu powinniście najpierw wczytać wszystkie myśli, umieścić je w odpowiednich miejscach i dopiero na końcu odtworzyć połączenia na podstawie wczytanych danych.