PySide/ru

Введение
PySide это привязка Python кросс-платформенного инструментария GUI Qt. FreeCAD использует PySide для всех целей графического интерфейса пользователя (Graphic User Interface, GUI) внутри Python. PySide является альтернативой пакету PyQt, который ранее использовался FreeCAD для своего графического интерфейса. PySide имеет более допустимую лицензию. Увидеть Differences Between PySide and PyQt для получения дополнительной информации о различиях.

PySide в FreeCAD с Qt5
FreeCAD был разработан для использования с Python 2 и Qt4. Поскольку эти две библиотеки устарели, FreeCAD перешёл на Python 3 и Qt5. В большинстве случаев этот переход произошёл без отказа от обратной совместимости.

Модуль даёт поддержку Qt4, а  - Qt5. Однако в FreeCAD нет необходимости использовать напрямую, благодаря специальному модулю  для поддержки Qt5.

Модуль располагается в каталоге  установки FreeCAD, скомпилированной для Qt5.

Этот модуль просто импортирует необходимые классы из, но размещает их в пространстве имён. Это значит, что в большинстве случаев тот же самый код может быть использован как с Qt4, так и с Qt5, когда тот импортирует.

Единственный необычный аспект это то, что классы помещены в пространстве имён.

Информация о PySide
Пользователи FreeCAD часто добиваются всего, используя встроенный интерфейс. Но для пользователей, которые хотят настроить свои операции, существует интерфейс Python, который описан в Python Scripting Tutorial. Интерфейс Python для FreeCAD обладает большой гибкостью и мощью. Для взаимодействия с пользователем Python с FreeCAD использует PySide, что описано на этой странице.

Python предлагает оператор 'print', который дает код:

С оператором 'print' Python вы имеете только ограниченный контроль над внешним видом и поведением. PySide предоставляет отсутствующий элемент управления, а также обрабатывает среды (такие как среда макрофайловых файлов FreeCAD), где встроенных средств Python недостаточно.

Возможности PySide варьируются от:



до:



Familiarize yourself with some real-world examples of PySide
 * PySide Beginner Examples (Hello World, announcements, enter text, enter number)
 * PySide Intermediate Examples (window sizing, hiding widgets, popup menus, mouse position, mouse events)
 * PySide Advanced Examples (widgets etc.)

They divide the subject matter into 3 parts, differentiated by level of exposure to PySide, Python and the FreeCAD internals. The first page has overview and background material giving a description of PySide and how it is put together while the second and third pages are mostly code examples at different levels.

The intention is that the associated pages will provide simple Python code to run PySide so that the user working on a problem can easily copy the code, paste it into their own work, adapt it as necessary and return to their problem solving with FreeCAD. Hopefully they don't have to go chasing off across the internet looking for answers to PySide questions. At the same time this page is not intended to replace the various comprehensive PySide tutorials and reference sites available on the web.