![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Sami |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 28.4.2008 Пользователь №: 160 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Есть проги которые написаны на различных библиотеках (MFC, OWL и тд)
Все они юзают одну длл, которая при этом может выводить окно с текстом и реагировать на клавиатуру. QApplication должен быть создан в первом потоке. И как быть, если вызвать QApplication в первом потоке длл не может, да и не уверен, что длл вызывают из первого. Что делать? Менять QT на что-то другое? И кстати а почему QApplication должен быть создан только в main (). С чем это связано? |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
А зачем тебе вызывать в QApplication из DLL?
В DLL можно ведь просто создавать окно, а вызывать его из exe'шника, предварительно передав ему родителя если нужно. |
|
|
Sami |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 28.4.2008 Пользователь №: 160 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А зачем тебе вызывать в QApplication из DLL? В DLL можно ведь просто создавать окно, а вызывать его из exe'шника, предварительно передав ему родителя если нужно. exe'шник понятия не имеет про QT и QApplication, он давно написан сторонними разработчиками. Если убрать класс QApplication из DLL, то при создании QWidget выдает: QWidget: Must construct a QApplication before a QPaintDevice. Поэтому засунул QApplication в отдельный поток, при этом стало выдаватся сообщение: WARNING: QApplication was not created in the main() thread. Мож мне этот варнинг игнорировать? На что может сказаться этот варнинг? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 26.6.2025, 19:04 |