Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Как вызвать кнопку созданную в другом классе

Необходимо соединить через сигналы и слоты кнопку которая находиться в классе connection. Вызвать я ее хочу в классе MainWindow и там же слот. Вопрос как прописать указатель на обьект кнопку вначале connect.
Вот кратки пример кода для понимания
Class MainWindow .cpp { connection = new Connection(this); connect(connection.ui?,SIGNAL(pressed(bool)), this, SLOT(test_slot())); }
А в классе connection запилена кнопка созданная в дизайнере П.С. классы соедены корректно.


Ответ

У вас кнопка является атрибутом класса. И логично что приватным. Вам нужно организовать геттер возвращающий указатель на кнопку, и этот геттер в коннект и прописать первым аргументом. Что то вроде
connection = new Connection(this); connect(connection->p_getButton(),SIGNAL(pressed(bool)), this, SLOT(test_slot()));
Но в общем мне кажется у вас нарушенна MVC модель. У вас графическое представление похоже является частью контроллера (connection)

Комментариев нет:

Отправить комментарий