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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как принимать сигналы от библиотеки?  (Прочитано 3616 раз)
Martiro
Гость
« : Декабрь 23, 2010, 14:32 »

Есть библиотечка, она посылает сигнал:

Код
emit sendProgress( /*double*/ dProccess );

Библиотека эта вызывается след. образом:

Код
QLibrary lib(sLibName);
 
typedef int (*Fct) (double &, char* ...);
Fct fct = (Fct)(lib.resolve("getCurrentCodeByName"));
if (!fct)
{
 return;
}
else
{
 res = fct (nameNumb, dataName ...)
}

Как законнектить сигнал sendProgress(double) на слот в приложении?

QT 4, МСВС.
Записан
crossly
Гость
« Ответ #1 : Декабрь 23, 2010, 15:35 »

используйте раннее связывание ....
Записан
Martiro
Гость
« Ответ #2 : Декабрь 23, 2010, 15:57 »

А поподробнее-поконкретнее...  Строит глазки
Как мне сигнал в библиотеке связать с функцией в главном приложении?
« Последнее редактирование: Декабрь 23, 2010, 16:00 от Martiro » Записан
crossly
Гость
« Ответ #3 : Декабрь 23, 2010, 16:29 »

подключаете хидер библиотеки... создаете экземпляр класса .... соединяете сигнал... 
Записан
Martiro
Гость
« Ответ #4 : Июнь 30, 2011, 12:09 »

Вновь столкнулся с подобной проблемой...
Можно ли без подключения хидера это реализовать?

В моем случае есть приложение. В нем подключаюсь к n-библиотекам, просто, через QLibrary::load(). У каждой библиотеки есть функция runLibrarary(), которая запускает библиотеку. В одной из библиотек есть процедурка, требующая обращения к функции главного приложения.
Как мне реализовать это обращение. Да так, чтоб еще и некоторое значение вернулось обратно в функцию? Это вообще реально? Улыбающийся
Записан
ритт
Гость
« Ответ #5 : Июнь 30, 2011, 16:08 »

отрезолвьте функцию, возвращающую объект, испускающий сигнал - дальше просто...
Записан
iks
Гость
« Ответ #6 : Июль 06, 2011, 22:19 »

Можно верить можно нет, но у меня есть реализация, простого прямого обращения через parent из плагина в приложение, и получаю ответ от приложения в плагин.
Это у меня получилось чисто случайно, сначало было приложение, потом решил разнести его по плагинам, и случайно пропустил данный вызов функции , когда позже заметил не стал переделывать вызов через сигнал.слот, раз и так работает =)
Записан
andybeg
Гость
« Ответ #7 : Июль 07, 2011, 10:30 »

Можно верить можно нет, но у меня есть реализация, простого прямого обращения через parent из плагина в приложение, и получаю ответ от приложения в плагин.
Это у меня получилось чисто случайно, сначало было приложение, потом решил разнести его по плагинам, и случайно пропустил данный вызов функции , когда позже заметил не стал переделывать вызов через сигнал.слот, раз и так работает =)
не будет наглостью если попрошу показать данную реализацию?
Записан
iks
Гость
« Ответ #8 : Июль 08, 2011, 11:37 »

Сейчас посмотрел, реализация не совсем та что сказал сразу, идет вызов основного приложения с кнопки через parent из плагина прямым обращением в слот приложения.
Пример все равно сделал, может кому пригодится
« Последнее редактирование: Июль 08, 2011, 14:44 от iks » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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