Поиск:

Ответ в темуСоздание новой темы Создание опроса
> множество функций и слотов 
:(
    Опции темы
NewDima
Дата 23.12.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: нет
Всего: 12



Здрасте всем
Пишу код следующий, прога загружает файл со списком плагинов, у каждого плагина спрашивает, какие функции он экспортирует, т.е. каждый плагин экспортирует разное количество однотипных функций.
На каждую функцию создается QAction, чтобы при нажатии по элементы меню исполнялась функция из плагина.
Вот вопрос: как бы так это организовать, т.е. нужно ли для каждой процедуры каждого плагина создавать слот или лучше на один слот вешать SLOT(triggered()) каждого QAction?
Подскажите, как будет удобней и где будет меньше заморочек с этим делом, наверняка кто-то уже сталкивался. Можно конечно было бы поэкспериментировать, но, к сожалению, времени на это совсем нет
Спасибо
PM ICQ   Вверх
NewDima
Дата 23.12.2008, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: нет
Всего: 12



Думаю, стоит еще сказать, что инфа в рантайме о плагинах содержится в структуре
Код

typedef struct
{
    ...
    
    QList<pf_userFunction> funcs; //эти самы функции
    QMenu* menu; //пункт меню для функций данного плагина
    QList<QAction*> acts; //пункты меню для функций плагина
} stface;

для всех плагинов это содержится в массиве
Код

stface *plugins;


Это сообщение отредактировал(а) NewDima - 23.12.2008, 12:16
PM ICQ   Вверх
SABROG
Дата 23.12.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Можешь подрубить к одному слоту, если интерфейс сигналов один и тот же. Идентифицировать объект через sender(). Или можно еще QSignalMapper использовал.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.