Название: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: OS2 от Ноября 03, 2012, 14:51 Всем доброго времени суток!
Есть необходимость добавить поддержку UDP протокола Qt в приложение, написанное на чистом WinAPI. Можно ли это сделать, если имеется уже готовая программа(например системная служба Windows) написанная без использования Qt и как следствие не использующая цикл обработки сообщений: QCoreApplication::exec()? Заранее спасибо! Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: Bepec от Ноября 03, 2012, 15:55 Прочитайте себя. Поддержку UDP протокола Qt (это как??? мб написанную на Qt?) в WinApi...
В принципе вроде можно засунуть в библиотеку, но без Q...exec не будет работать сигнал-слотовая система вроде. Так что хз. Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: OS2 от Ноября 03, 2012, 16:13 Пардон за косноязычие. Имелось в виду поддержка сети, реализованная в Qt.
Цитировать но без Q...exec не будет работать сигнал-слотовая система вроде Имелось в виду именно это. Можно ли обойти отсутствие "Q...exec" созданием нового потока и запуска в нем локального цикла обработки сообщений, чтобы заработали сигнал-слотовые соединения?Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: Bepec от Ноября 03, 2012, 16:38 ХЗ. Где то говорилось, что exec можно запихать в библиотеку, но вам не подходит - он всё равно вызывается.
Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: ssoft от Ноября 06, 2012, 07:37 Для того, чтобы использовать Qt c WinAPI необходимо организовать очередь сообщений Qt.
Для этого используется Qt solution - qtwinmigrate. Там есть необходимый tutorial. Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: Bepec от Ноября 06, 2012, 08:09 Который и является очередью событий, QApplication? :)
Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: OS2 от Ноября 06, 2012, 13:23 А самому нельзя чтонибудь вроде этого написать:
Код
Код
??? Название: Re: Как добавить сетевой интерфейс Qt в програl Отправлено: mutineer от Ноября 06, 2012, 13:32 А самому нельзя чтонибудь вроде этого написать: Объекты, созданные в run(), уже принадлежат этому треду, их не надо дополнительно мувать moveToThread( this ); - это зачем в конструкторе? У класса ни слотов не используется, ни сигналов, ни вообще каких-то дополнительных методов... Ну и это, у треда уже есть очередь событий (вызывается по exec() ), поэтому QApplication тут возможно и не нужен Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: OS2 от Ноября 06, 2012, 13:50 Нет, ну в классе есть и слоты и сигналы, без QApplication и мува в конструкторе они не работали. Сейчас, вроде, нормально стала работать сетевая сетевая часть(исаользую UDP), без этого не хотела...
Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: Igors от Ноября 06, 2012, 14:20 Код
Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: OS2 от Ноября 06, 2012, 14:34 Сейчас остановился на таком варианте:
Код При создании QApplication вне метода run() сигналы\слоты не срабатывают. Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: Igors от Ноября 06, 2012, 14:57 При создании QApplication вне метода run() сигналы\слоты не срабатывают. Например ?Название: Re: Как добавить сетевой интерфейс Qt в программу на WinAPI? Отправлено: OS2 от Ноября 06, 2012, 15:02 Ну например выношу я его в конструктор или вообще, в main()...
|