PyQt предоставляет код C ++ для Python через SIP ; PySide делает это через Shiboken . Оба имеют примерно те же возможности, что и SWIG (за исключением того, что они поддерживают только «расширенный C ++ до Python», в то время как SWIG также имеет бэкэнды для Ruby, Perl, Java и т. Д.). Ни SWIG, ни SIP, ни Shiboken не предназначены для взаимодействия друг с другом. Вы не могли бы удобно использовать SWIG, чтобы обернуть любой код, используя расширения C ++, которые требуются Qt (для поддержки сигналов и слотов), и я понятия не имею, какие опасности могут вас ожидать при попытке взаимодействия с SIP (или Shiboken) и SWIG -обернутый код.
Почему, могу я спросить, вы решили использовать два отдельных и эквивалентных способа для переноса различных частей вашей кодовой базы C ++ (Qt через SIP или Shiboken, все остальное через SWIG)? Если вы все еще можете пересмотреть это странное дизайнерское решение, я настоятельно рекомендую вам сделать это.
Если ваш выбор SWIG высечен на камне, я предсказываю большие неприятности всякий раз, когда вы упаковываете код C ++ с использованием расширений Qt (то есть слотов или сигналов) и, как правило, полностью жалкое время для всех участников. Если вы выберете один способ обернуть и придерживаться его, проблемы должны быть значительно уменьшены. У меня нет реального опыта работы с Shiboken (это слишком ново, и я почти никогда не использую приложения с графическим интерфейсом в наши дни ... веб-приложение всего мира! -), но я использовал SIP в этой роли в прошлом ( еще до того, как это было прилично задокументировано - в настоящее время мне кажется, что это великолепно задокументировано, и поверхностное прочтение Shiboken производит на меня такое же впечатление), и я могу очень рекомендовать его (действительно, если бы я мог выбрать его) было бы предпочтительным вариантом, чем SWIG, даже если в проекте не было кода Qt).