![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Daan |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 13.9.2010 Пользователь №: 2033 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Имеются два класса, class FIRST и class SECOND, наследуемые от QWidget.
Описаны и определены соответственно в файлах firstclass.h + firstclass.cpp и secondclass.h + secondclass.cpp Класс FIRST, чей конструктор объявлен в firstclass.h включает #include "secondclass.h" и имеет среди членов указатель на объекта класса SECOND, например SECOND s*; Затем в функции main создается объект класса FIRST и появляется окно. Затем при выполнении какой-то функции класса FIRST создается через указатель s* объект класса SECOND и появляется отдельное окно - виджет класса SECOND Задача такова: Мне теперь нужно после выполнения определенной функции класса SECOND, описание которой находится в secondclass.cpp вызвать определенную функцию ( допустим функция void take_control() ) класса FIRST, которая описана в файле firstclass.cpp. (Она будет обрабатывать данные из общего массива, который изменялся во втором окне и рамещать их в первом окне) Как мне получить доступ к функциям уже созданного объекта класса FIRST из класса SECOND ? Меня смущает то, что объект класса FIRST уже создан ![]() |
|
|
![]() |
ufna |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
Посмотри технологию сигнал-слот.
В "first" будет слот, в "second" сигнал. В нужный момент отсылаешь сигнал, а слот - и есть нужная тебе функция. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.6.2025, 15:24 |