Есть простое правило относительно взаимодействия виджетов:
Ведущий виджет, если нужно как-то повлиять на ведомый, дёргает функции дочернего.
А ведомый шлёт извещения о произошедших с ним интересных вещах.
Это позволяет в ведомом ничего не знать о ведущем.
Наиболее часто ведущий - это родитель, а ведомый - сын.
Если виджеты напрямую не связаны, можно пробросить коммуникацию через общего родителя.