@gense

Как лучше связывать сигналы и слоты в сложной иерархии классов если это нужно сделать вручную кодом (без Qt Designer'а)?

Допустим, элементы управления находятся на формах (QWidget), которые сами являются дочерними к своим окнам, и этих окон много. И так нужно соединить сигналы и слоты между этими элементами управления в разных окнах, на разных формах (без кьют дизайнера). Тогда это лучше делать в классе главного окна и передавать ему ссылки на эти формы? Но какой-то хардкод получается и громоздко. Как это правильно и лучше сделать? В самоучителях об этом не пишут :/
  • Вопрос задан
  • 886 просмотров
Пригласить эксперта
Ответы на вопрос 1
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
Вообще обычно есть какая-то точка инициализации, где все дочерние формы создаются. Если они должны как-то взаимодействовать с главной формой, то в этой точке инициализации их и надо соединять. Возможно, это конструктор главной формы, или метод, вроде init(). Такой же метод может быть и у дочерних виджетов. если их надо соединять со слот-сигналами потомков.
Если объекты создаются какой-нибудь фабрикой, то там их и надо соединять с зависимостями с помощью слот-сигналов.

Дизайнером лучше вообще ничего не соединять. Довольно некрасиво получается в итоге.

Ну а вообще, выкладывайте пример. Сюда или на гихаб. Без кода сложновато сказать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы