Как пояснил мой комментарий: плагин Qt Designer может быть собран через ссылку (SIP / PyQt5 через RiverBank и Qt src через Qt).
- Убедитесь, что ваши версии Qt совпадают, хотя в документации Qt сказано, что плагины более низких версий должны работать с Designers на более высоких версиях, но я уверен, что есть предел.
- Сборка внутри python venv, как и предлагалось.
- Для сборки вам понадобится xtool dev pkg.
- Все построено очень легко для меня.
- Это поместит ваш плагин pyqt5.dylib прямо в вашу папку Qt / clang_64 / plugins / designer (он также будет встроен в папку pyqt5 make)
В этот момент я ожидал, что все будет работать. Плагин показывает, что он прекрасно загружается в Designer.
Некоторые дополнительные заметки:
- запуск из командной строки может помочь с отладкой: Qt / clang_64 / bin / Designer.app> show package> / MacOS / Designer (перетащите его в терминал для выполнения из командной строки)
- установка переменной env (>> export QT_DEBUG_PLUGINS = 1) выдаст отладочную информацию и покажет множество вещей, включая то, что pyqt5.dylib прекрасно загружается
- Плагины виджетов - это два файла: widget.py и файл widgetplugin.py, который предоставляет виджет дизайнеру. Этот файл плагина ДОЛЖЕН заканчиваться на «plugin.py»
- Файлы widgetplugin.py могут находиться в нескольких местах:
- in / [Дизайнерское приложение] / плагины / дизайнер / python /
- в ~ / user dir / .designer / plugins / python /
- в выбранном вами каталоге, используя env var PYQTDESIGNERPATH
Однако, в этот момент в Designer все еще ничего не показывалось, и у меня не было ошибок, чтобы пройти мимо. Так как я только что построил pyqt5.dylib, я решил, что просто вставлю в него кучу операторов print, заново сделаю его и отладлю, чтобы выяснить, почему плагин pyqt5 загружается нормально, но мои пользовательские виджеты нигде не были найдены .. .
- Первой проблемой была проблема с загрузкой среды Python:
- для этой проблемы я просто скопировал мой (я использую brew) /usr/local/Cellar/python/3.7.2/Frameworks/Python.framework в Qt / clang_64 / lib (я уверен, что есть правильный PATH / PYTHONPATH вы можете установить для этого, я выясню это позже)
- после этого пришел отсутствующий модуль PyQt5.sip
- для этого я установил (pip install) pyqt5-sip и вставил в свою PYTHONPATH
После этого все наконец заработало, и я смог увидеть мои собственные плагины внутри Qt Designer.