Russian Qt Forum

Qt => Общие вопросы => Тема начата: Hordi от Июль 14, 2006, 15:09



Название: Как "руками" заставить объект сгенерить сигнал?
Отправлено: Hordi от Июль 14, 2006, 15:09
Нужно сделать, чтобы объет сгенерил сигнал. Сейчас делаю так:

QTimer::singleShot(0,object,SIGNAL( returnPressed() ));

Может есть более красивое решение?


Название: Как "руками" заставить объект сгенерить сигнал?
Отправлено: Asaphus_Expansus от Июль 14, 2006, 16:25
class A
{
public:
void emitSignal()
{
 emit returnPressed();
};
}

object->emitSignal();


Название: Как "руками" заставить объект сгенерить сигнал?
Отправлено: QCasper от Июль 14, 2006, 22:14
Цитата: "Asaphus_Expansus"
class A
{
public:
void emitSignal()
{
 emit returnPressed();
};
}

object->emitSignal();


тока Q_OBJECT не забудь, а то не сгенерится :)


Название: Как "руками" заставить объект сгенерить сигнал?
Отправлено: Hordi от Июль 15, 2006, 09:48
да нет, так понятно что можно. может без обшивки есть способ...

добавлено спустя 1 минуту:

 я имел в виду, что сигнал нужен от объекта не моего класса, а любого Qt-шного


Название: Как "руками" заставить объект сгенерить сигнал?
Отправлено: comrade от Июль 21, 2006, 09:32
по другому можно так:
Код:

QSignal s;
s.connect( object, SIGNAL( returnPressed() ) );
s.activate();

хотя так длиннее...


Название: Как "руками" заставить объект сгенерить сигнал?
Отправлено: Hordi от Июль 21, 2006, 10:58
2comrade:
Спасибо, идеологически это самое правильное решение...