Qt использовать родительскую функцию в child (C ++) - PullRequest
0 голосов
/ 25 сентября 2019

Я изучаю Qt с помощью Qt creator, и у меня есть вопрос.

Я видел много людей, спрашивающих то же самое, но ничего не помогло мне.

У меня есть MainWindow и вФункция Я создаю подокно, как это:

void MainWindow::on_actionAdd_Friend_triggered()
{
    adduser = new addUser(this);
    adduser->show();
}

В моем MainWindow.h:

private:
    addUser *adduser;

И я хочу получить доступ к функции Mainwindow в Adduser.

Я пытался поместить геттер в addUser (дочерний) и пытаться получить информацию после adduser->show();, но дочерний элемент уничтожен, поэтому у меня нет доступа ни к чему ...

Я видел, что естьрешение с conect(): это хорошее решение?или есть другой способ?

1 Ответ

0 голосов
/ 25 сентября 2019

Вы не должны использовать метод parent () для доступа к любому другому окну из окна вашего adduser.Причина в том, что parent() даст вам родительский элемент в иерархии окон, и, скорее всего, вы в конечном итоге получите окно прокси MainWindow.Вместо этого MainWindow должен иметь слот, в который он получает добавленных пользователей по сигналу из вашего дочернего окна.on_actionAdd_Friend_triggered должен установить соединение с connect() перед вызовом adduser->show();

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