In the constructor of the second object implemented two methods with ready signals and slots of QScrollArea:
connect(parentScrollArea->horizontalScrollBar(),
SIGNAL(valueChanged(int)),
relatedDiagram->parentScrollArea->horizontalScrollBar(),
SLOT(setValue(int)));
connect(relatedDiagram->parentScrollArea->horizontalScrollBar(),
SIGNAL(valueChanged(int)),
parentScrollArea->horizontalScrollBar(),
SLOT(setValue(int)));
I decided not to disable a direct scroll of the second object.
In the method of synchronisation I added for case of synchronisation:
connect(commonArea->horizontalScrollBar(),
SIGNAL(valueChanged(int)),
resultsArea->horizontalScrollBar(),
SLOT(setValue(int)));
connect(resultsArea->horizontalScrollBar(),
SIGNAL(valueChanged(int)),
commonArea->horizontalScrollBar(),
SLOT(setValue(int)));
And dissynchronization:
disconnect(commonArea->horizontalScrollBar(),
SIGNAL(valueChanged(int)),
resultsArea->horizontalScrollBar(),
SLOT(setValue(int)));
disconnect(resultsArea->horizontalScrollBar(),
SIGNAL(valueChanged(int)),
commonArea->horizontalScrollBar(),
SLOT(setValue(int)));