Russian Qt Forum
Ноябрь 25, 2024, 21:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сигнал из класса в класс  (Прочитано 2836 раз)
vexar
Гость
« : Октябрь 04, 2010, 09:07 »

Ни как не могу до петрить как послать сигнал из класса в класс.
Делаю так:

Код:
MainWindow.cpp
ClassOne::ClassOne(QWidget *parent) : QDialog(parent)
{
    OkButton = new QPushButton(trUtf8("Добавить"));
    connect(OkButton, SIGNAL(clicked()), ClassTwo, SLOT(MySlot()));
}


ClassTwo::MySlot()
{
     .....
}

Код:
MainWindow.h

class ClassTwo : public QWidget
{
    Q_OBJECT

public:
    ClassTwo(QWidget *parent = 0);
public slots:
    void MySlot();
}
Записан
SABROG
Гость
« Ответ #1 : Октябрь 04, 2010, 09:20 »

Для этого один QObject должен иметь указатель на второй QObject. Стало быть этот указатель нужно передавать через отдельный метод типа setPointerForClassTwo() или через конструктор.
Записан
merke
Гость
« Ответ #2 : Октябрь 04, 2010, 10:00 »

ClassTwo *two = new ClassTwo;

connect(OkButton, SIGNAL(clicked()), Two, SLOT(MySlot()));

вот и все!
Записан
voronElf
Гость
« Ответ #3 : Октябрь 05, 2010, 07:34 »

Цитировать
как послать сигнал из класса в класс
сигналы из объекта в объект посылаются, а не из класса в класс (разницу ведь чувствуете). Александр это кодом показал.
Записан
AlekseyK
Гость
« Ответ #4 : Октябрь 05, 2010, 12:11 »

Что значит из класса в класс? Это же не абстрактные понятия, существующие сами по себе. Должны быть экземпляры класса, к ним и привязывается. Если один класс сделать контейнером для экземпляра другого, то привязать легко: у них какая-то логика должна быть связанная, а иначе смысла нет.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 20.