![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
silart |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Кто-нибудь пробовал создать на Qt такую Dll, чтобы внутри нее создавались виджеты?
Можно создать на Qt просто динамическую библиотеку, но в ней нельзя создавать виджеты, потому что объект QApplication не создается. (При обращении к графическим функциям вылазит страшное сообщение, что QPaintDevice был создан до QApplication) Нужен ли он вообще для модальных окон? Если нужен, как его создать, он ведь не умеет конструктора по умолчанию? Вот пример dll, что сгенерировал мастер: CODE class LIBRARY_EXPORT Library
{ public: Library(); ~Library(); void CreateReport(QSqlDatabase db, const QString& path, const ParameterList& params, QWidget* parent = 0); void MessageBox(const QString& title, const QString& msg, QWidget* parent = 0); private: }; |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Да вроде не должно быть зависимости статическая или динамическая сборка.
Ведь может понадобиться как та так и другая сборка одновременно в проекте. Последний архив, я компилил так: без qmake -project, чтобы не портить pro файл.Разумеется как для exe так и для dll. Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его. |
|
|
ViGOur |
![]()
Сообщение
#3
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его. Извини, ошибся, библиотека должна быть динамической.Думал о статической библиотеке, нужно было написать слово динамическая, а написал статическая. ![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 9.4.2025, 23:14 |