Возможно: программа выполняет код Qt3 и Qt4? - PullRequest
3 голосов
/ 26 мая 2009

Может быть, это очень тупой вопрос, но я надеюсь, что вы можете дать мне несколько ответов.

У меня есть коммерческое приложение, которое использует Qt3 для своего графического интерфейса и встроенный интерпретатор Python (командная строка) для сценариев. Я хочу написать собственный плагин для этого приложения, который использует Qt4. Плагин - это, в основном, подкласс QMainWindow-класса, который связан с dll (так что я на Windows) вместе с надстройкой надстройки Python Оболочка python должна быть интерфейсом между моим плагином и моим коммерческим приложением.

Итак, мой вопрос: возможно ли это? Так что код Qt3 работает независимо от кода Qt4 в том же приложении.

Первые эксперименты привели к закрытию приложения, я попытаюсь исследовать это дальше ...

Спасибо!

Edit: Мое приложение зависло, потому что я не создал экземпляр приложения QT4. Поэтому, когда я создаю экземпляр, все работает хорошо без дополнительного пространства имен Qt (что предлагается в ответах, поэтому не нужно перекомпилировать)! ;)

Ответы [ 2 ]

3 голосов
/ 26 мая 2009

Это может быть возможно с помощью пространства имен Qt. От configure --help;

-qtnamespace <name>  Wraps all Qt library code in 'namespace <name> {...}'.

Теоретически это должно предотвратить столкновение символов, что может привести к неудаче вашего текущего подхода.

3 голосов
/ 26 мая 2009

См. эту тему на форуме Trolltech. (Ну, на самом деле речь идет о плагинах Qt3 в приложении Qt4, но я подозреваю, что ответ почти такой же).

Обновление: ссылка теперь дурацкая, но у машины обратного хода она есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...