Разбираясь с плагинами ..... озадачился вот че....
Например про макрос Q_DECLARE_INTERFACE() в книжке Шлея написано что этот макрос должен иметь два параметра: первый - имя класса интерфейса, второй - строка идентификатора........
Строка идентификатора должна состоять из: домена создателя; имени приложения; имени интерфейса; номера версии. Но программа хорошо компилируется если опустить любой параметр (например имя приложения) или даже если строка идентификатора = ""(пустой строке) так для чего же нужна это строка и какие насамом деле параметры для неё важны и зачем???
Также не разобрался с макросом Q_EXPORT_PLUGIN2(PluginName, ClassName)....
Второй параметр верно, должен быть именем класса расширения, но вот первым параметров можно указывать что угодно (произвольную строку) и тоже всё нормально компилится и работает.....а ещё чем отличается этот макрос от макроса Q_EXPORT_PLUGIN (ClassName), я и его подставлял всё вроде бы работает.....хотелось бы знать в чём отличие.....и для чего применять....
Ну и последний макрос... как я понимаю противоположность Q_EXPORT_PLUGIN() макрос Q_EXPORT_PLUGIN (ClassName) что это и куда его засовывать.......пример если можно?
Так же если можно подскажите как можно задавать сигналы и слоты в расширениях.....т.е. если допустим я хочу отправлять сигнал с одного плагина а принимать этот сигнал другим.......у меня есть одна идея правда я щас только собираюсь попробовать....выглядит
она примерно так......сигналы я объявляю в интерфейсе.....а вот слоты можно объявить как чисто виртуальные в том же интерфейсе (но как я слышал виртуальные слоты работают медленнее) думаю можно ещё объявить слот в интерфейсе и определить его там же..... Если кто то знает конкретное решение этой проблемы пожалуйста поделитесь........