Dlaczego?
Może "synchronizacja" to złe słowo.
Mam kilka klas które pracują na wątkach i przetwarzają dane.
Klasy te mają wejścia i wyjścia danych oraz sterujących, które są zaimplementowane w rodzicu jako sygnały i sloty. Teraz chciałbym połączyć odpowiednie klasy:
Kopiuj
// pisane z palca - chodzi o motyw
connect(w0, SIGNAL(dataChanged(QVector<int>)), w1, SLOT(setData(QVector<int>)), Qt::DirectConnection);
connect(w0, SIGNAL(rateChanged(int)), w1, SLOT(setRate(int)));
// ...
connect(w1, SIGNAL(dataChanged(QVector<int>)), w2, SLOT(setData(QVector<int>)), Qt::DirectConnection);
connect(w1, SIGNAL(rateChanged(int)), w2, SLOT(setRate(int)));
// ...
connect(w2, SIGNAL(dataChanged(QVector<int>)), w3, SLOT(setData(QVector<int>)), Qt::DirectConnection);
connect(w2, SIGNAL(rateChanged(int)), w3, SLOT(setRate(int)));
// ...
Oczywiście konfiguracji będzie dużo, czy nie lepiej zapisać to w ten sposób?:
Kopiuj
w0 >> w1 >> w2 >> w3;
Jest czytelne a znaki >> idealnie pokazują przepływ danych.
Chciałbym jeszcze, aby podczas kolejnego wywołania np.
wywalić z połączeń klasę "w1" lecz jej nie niszczyć.