Russian Qt Forum

Qt => Общие вопросы => Тема начата: izoomer от Май 23, 2008, 14:47



Название: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: izoomer от Май 23, 2008, 14:47
Вот здесь http://prog.org.ru/forum/index.php/topic,5403.0.html (http://prog.org.ru/forum/index.php/topic,5403.0.html)  , расказано про сигнылы и слоты в плагинах .. но пример довольно общий ...
поясните может на рабочем примере кто нибудь ... Заранее благодарен .


Название: Re: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: ритт от Май 23, 2008, 17:07
хороший пример. что не ясно?

если надо что-нибудь совсем-совсем простое, можно коннектиться напрямую к сигналам/слотам объекта плагина...только использовать if(connect(...)) для исключения неожиданностей рантайм


Название: Re: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: izoomer от Май 24, 2008, 20:05
хороший пример. что не ясно?

если надо что-нибудь совсем-совсем простое, можно коннектиться напрямую к сигналам/слотам объекта плагина...только использовать if(connect(...)) для исключения неожиданностей рантайм

ну а можно показать пример, ну хотя бы в примере plugandpaint добавить сигнал и слот ... буду очень признателен


Название: Re: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: Вячеслав от Май 24, 2008, 23:02
Хм , а в чем вопрос-то добавить ? все как обычно ;) Чего-то не получаеться ? Тады спрашивай более конкретно ..... там нет никаких грабель .....


Название: Re: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: izoomer от Май 25, 2008, 09:59
Хм , а в чем вопрос-то добавить ? все как обычно ;) Чего-то не получаеться ? Тады спрашивай более конкретно ..... там нет никаких грабель .....
Кого в ком наследовать, вот вопрос .... то есть не хотелось бы в основном проекте плодить куче наследников от интерфейса.
Есть файл интерфейса , есть файл плагина , есть основной проект ... кого в чем наследовать что бы был объект от QObject ....
Все эти операции описанные в посте приведеном в заголовке, должны проводится в файле проекта или же можно сделать наследника в том же заголовочном файле интерфейса ?
Потому и прошу пример, куда в какой файл вставлять метод возвращающий указатель на екземпляр созданный от QObject уже .... в сам интрерфейс или в класс плагина ? Где создавать класс , наследованный от самого интерфейса и QObject , что бы можно было добавить сигналы и слоты - в интерфейсе или в плагине ... ? Кого от чего наследовать ?


Название: Re: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: ритт от Май 25, 2008, 10:42
у тебя плагин и так от объекта наследуется
если хочешь по-умному, используй пример из первого поста
если по-простому, делай connect(plugin->instance(), SIGNAL(...), some, SLOT(...)) - хоть слоты и не описаны в интерфейсе, ты-то знаешь, что они есть - значит, и рантайм коннект отработает


Название: Re: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: Вячеслав от Май 25, 2008, 10:43
Код:
class CalcPlugin : public QObject, public iPluginInterface
{
    Q_OBJECT
    Q_INTERFACES(iPluginInterface)


public:
    // GUIInterface
CalcPlugin():_mName("Calc"),mParent(0){};
virtual ~CalcPlugin();
[кусь]

slots:
void slSpawnPluginConfiguration();
          void slShowCalc(void);
private:
iMainWindowInteract *mParent;
QTranslator *translator;
};

НУ как-то так ;) кусок одной поделки .....  это плаг естественно ...
а в проге loader.instance() приводиться(qobject_cast) к iPluginInterface ну и далее все как обычно ....


Название: Re: [qt-4.4.0 Linux] Сигнылы и слоты в плаигнах (повтор)
Отправлено: izoomer от Май 30, 2008, 16:50
у тебя плагин и так от объекта наследуется
если хочешь по-умному, используй пример из первого поста
если по-простому, делай connect(plugin->instance(), SIGNAL(...), some, SLOT(...)) - хоть слоты и не описаны в интерфейсе, ты-то знаешь, что они есть - значит, и рантайм коннект отработает

заманался уже .. ну не могу понять куда все таки что вставлять и от кого что наследовать, теоретически понимаю а воплотить не могу ... ну ткните плиз на примере ... вот в этом посте мой плагин http://prog.org.ru/forum/index.php/topic,7246.0.html , покажите куда что вставить что бы появились сигналы и слоты у плагина и как их конектить в головной программе .... Заранее ОЧЕНЬ благодарен