В Windows мне нужно использовать в Python несколько пользовательских виджетов Qt5, написанных на C ++, и я должен использовать pyside2
из-за его лицензии.
Я был в состоянии собрать pyside2
библиотека из источника (вместе с shiboken2
примеры), но я не могу найти простой пример того, как обернуть пользовательский виджет Qt5.
Я знаю что pyside2
официально еще не выпущен, но, кажется, уже используется (например, в Maya): Как я могу получить идентификатор для QWindow в приложении PySide2?
Кто-нибудь может дать подсказки или указания? Минимальный пример был бы еще лучше.
Правки
На основе комментариев @placinta, я создал Сделки рЕПО с минимальным примером, который пытается обернуть QMainWindow
,
В своих тестах я использовал pyside2
Конда пакет это обертывания Qt
5.6.
Когда я выполню shiboken2
исполняемый, я получаю тонны предупреждений.
Я предполагаю, что эти предупреждения вызывают ошибка компиляции с shiboken2
сгенерированный код.
Проблема с моей начальной конфигурацией CMake была описана Вот. То есть, CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS имеет ограничения, поэтому я вернулся, чтобы использовать «старый» заголовки экспорта.
Однако ошибка компиляции для отсутствующего metaObject()
объявление функции-члена все еще присутствует. Он работает путем добавления объявления вручную, так как реализация присутствует в _wrapper.cpp
, Хотя это не совсем удовлетворительное решение, оно является отправной точкой для других пользователей.
Qt билет на проблему в https://bugreports.qt.io/browse/PYSIDE-597 .
Других решений пока нет …