Qt только осваиваю, поэтому возникают такие вопросы.
Есть приложение на основе QDialog. Главное окно создает дочернее окно на основе QDialog.
Как из дочернего окна получить доступ к public-методам главного окна?
На просторах сети нашел метод получения указателя на главное окно:
MainDialog *nw = qobject_cast<MainDialog*>( QApplication::topLevelWidgets()[ 0 ] );
Но видимо этот способ недостаточно безопасный, т.к. в половине случаев программа вылетает без объяснения каких-либо причин из-за этого, потому что оказывается nw=0. Видимо вылетает исключение. Поэтому такой способ не подходит. Кстати, почему вылетает?
Объясните, как правильно поступить в такой простейшей ситуации? Как обращаться к функциям главного окна из дочерних окон?