Полностью упаковать графическое приложение в DLL |
Здравствуйте, гость ( Вход | Регистрация )
Полностью упаковать графическое приложение в DLL |
__UNIX_hokum |
15.7.2009, 8:34
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 4.5.2009 Пользователь №: 727 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток. Пытаюсь сделать следующее: в DLL находится класс, наследованный от QThread, в методе run которого на стеке создаётся экземпляр QApplication и какой-нить QWidget. Из DLL наружу отдаётся экземпляр этого класса, с которым можно работать через интерфейс программе, "не знакомой" с Qt. Всё это безобразие компилируется, запускается, и не работает со следующим предупреждением: "QApplication was not created in the main() thread".
Интернеты сказали следующее: "If you need to marshall widget creation across threads (e.g. thread B wants thread A to create a widget, and must wait for the widget), then you want to make sure to run QEventLoops while you're waiting. That'll make sure any cross-thread QEvents get processed" (http://www.qtforum.org/article/22708/qappl...n-instance.html). Но что-то я не соображу, куда и как этот совет приделать. Если у кого будут соображения по этому поводу -- рад услышать. |
|
|
mozgofil |
15.7.2009, 17:22
Сообщение
#2
|
Студент Группа: Участник Сообщений: 32 Регистрация: 23.4.2009 Пользователь №: 706 Спасибо сказали: 0 раз(а) Репутация: 0 |
А вы сами то поняли что сказали?
Пытаюсь сделать следующее: в DLL находится класс, наследованный от QThread, в методе run которого на стеке создаётся экземпляр QApplication и какой-нить QWidget. Из DLL наружу отдаётся экземпляр этого класса, с которым можно работать через интерфейс программе, "не знакомой" с Qt.
|
|
|
__UNIX_hokum |
16.7.2009, 8:00
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 4.5.2009 Пользователь №: 727 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
mozgofil |
16.7.2009, 18:45
Сообщение
#4
|
Студент Группа: Участник Сообщений: 32 Регистрация: 23.4.2009 Пользователь №: 706 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 17:39 |