Приложение C ++: передача значения из формы в частную переменную главного окна - PullRequest
0 голосов
/ 09 мая 2019

Я разрабатываю приложение для подачи базы данных. Мое главное окно - это меню, которое открывает формы для разных утилит. Не уверен, что это лучшая практика, но позвольте мне объяснить, что я пытаюсь сделать: Главное окно моего класса имеет закрытую строку QString, в которой будет храниться имя текущего проекта. В меню «Загрузить» открывается форма (другой класс), в которой перечислены все существующие проекты в выпадающем списке. Пользователь выбирает проект, который он хочет, и нажимает кнопку ОК.

Я хотел бы вернуть combobox.currentText () в выделенную приватную переменную. После некоторых исследований я все еще не могу понять, как это сделать, нужно ли мне использовать SIGNAL из формы, чтобы вызвать SLOT основной формы, или если есть простой способ просто вернуть значение после нажатия OK (например, диалоговое окно ввода) , Если я не совсем ясно, может быть, поможет следующий набросок.

enter image description here

У меня определенно нет знаний по этому вопросу, но я был бы признателен за некоторую помощь.

1 Ответ

0 голосов
/ 09 мая 2019

Действительно, если ваша форма для загрузки проекта выдаст сигнал currentProjectChanged, как только пользователь примет форму (нажмет кнопку OK), этот сигнал может быть подключен к слоту главного окна. Для простых вещей это может быть хорошо и элегантно.

С другой стороны, реакция на действия иногда требует большей логики. Если ваше действие вызывает слот, который заботится о выполнении действия, этот слот, вероятно, должен реализовать логику. Следует открыть форму и проверить, принял ли пользователь изменение проекта (нажал OK). В этом случае слот выполнения действия может получить новое имя проекта из формы и вызвать метод главного окна, чтобы передать имя нового проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...