![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_Михаил_* |
![]()
Сообщение
#1
|
Гости ![]() |
Здравствуйте уважаемые знатоки. Начинаю учить тонкости Qt (MinGW + Qt 4.5.1 + Eclipse + Qt Integration)
Делаю следующее: ViewFactory.h
Потом: tableview.h
Если в таком виде компилирую проект то все работает нормально но если пытаюсь сделать более универсальный код: Factory.h
ViewFactory.h
tableview.h
Если же в этом случае компилирую проэкт, то при линковке выводится ошибка:
Причина редактирования: Используй тэг code
|
|
|
![]() |
Гость_Гость_* |
![]()
Сообщение
#2
|
Гости ![]() |
Короче решил проблему так:
Factory.h #define FACTORY_INTERFACE \ virtual QObject * newInstance() const = 0; \ virtual QString getFactoryName() const = 0; \ virtual QString getFactoryDesc() const = 0; \ #define FACTORY(CLASS,CLASSNAME,CLASSDESC) \ public: \ QObject * newInstance() const { return const_cast<QObject *>((QObject *)new CLASS()); }; \ QString getFactoryName() const { return QString(CLASSNAME); }; \ QString getFactoryDesc() const { return QString(CLASSDESC); }; \ private: ViewFactory.h class ViewFactory { public: FACTORY_INTERFACE }; Q_DECLARE_INTERFACE(ViewFactory,"com.tisadb.ViewFactory\0.1") tableview.h class tableviewFactory : public QObject, public ViewFactory { Q_OBJECT Q_INTERFACES(ViewFactory) public: FACTORY(tableview,"TableView", "TableView version 0.1") }; Конечно не то что хотелось бы, если у кого будут еще сообращения - делитесь |
|
|
AD |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Короче решил проблему так: Берите код в кавычки /[code]/[//code/] пожалуйста, чтобы удобнее было читать! Заранее спасибо! Сообщение отредактировал AD - 9.8.2009, 21:02 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.3.2025, 20:08 |