Страницы

воскресенье, 1 июня 2014 г.

PySide / PyQt helper for Houdini


Download hqt



Всё чаще возникает необходимость дополнять свои скрипты для Houdini интерфейсами. К сожалению SideFX до сих пор не снабдили нас удобной библиотекой для работы с нативным интерфейсом Houdini. На помощь приходит PyQt/PySide. Очень удобная библиотека на все случаи жизни. Но Houdini имеет свой интерфейс и не написан на Qt, как это было сделано с Maya или Nuke. В связи с этим SideFX позаботились приложить в стандартную поставку специальные файлы pyqt_houdini.py и pyqt_thread_helper.py. В частности советуют использовать первый. Он работает, но с некоторыми недочетами. Некоторые из них решает модуль hqt.

  • скрипт встраивает один QApplication в event loop процесса Houdini и помещает его в неймспейс __main__. Таким образом любой скрипт, использующий hqt будет запущен в одном и том же QApplication автоматически
  • к запущенному QApplication применяется стиль, похожий на интерфейс Houdini (black). Все открытые виджеты будут выглядеть как обычные окна Houdini
  • реализован запуск в 3х разных режимах. Для их использование не требуется других функций, достаточно ваш виджет унаследовать от нужного класса:
    • widget: открытие простого окна. Работает если виджет создан из QWidget или QMainWindow. Основная функций showUi вернёт указатель но объект виджета.
    • dialog: открытие окна с блокировкой окна Houdini. Для этого требуется создать виджет, унаследованный от QDialog. showUi вертнёт результат выполнения диалога  (bool) и указатель но объект диалога.
    • menu: Если виджет унаследован от QMenu, то меню откроется в текущей позиции курсора. showUi вернет указатель но выбранный QAction

  Инсталяция:

  • Прежде всего нужно установить PySide или PyQt4.  Внимание! Правильно выберете версию PySide / PyQt под версию Python в вашем билде Houdini. Установить PySide / PyQt можно в библиотеки Houdini или в системный Python. Во втором случае необходимо добавить путь к этим библиотекам. Скрипт автоматически добавляет путь <C:/Python27/Lib/site-packages> для Windows
  • скопировать файл hqt.py в папку, где Houdini сможет его увидеть. Это Python библиотеки Houdini или любой путь, который есть в переменной PATH.
  • выполнить код
import hqt
Для открытия ваших виджетов используйте функцию

hqt.showUi(myWidget)
Где myWidget это ссылка на класс вашего окна.

Подробности можно увидеть выполнив команду
help(hqt)
Примеры использования приведены в файле hqt_example.py

Комментариев нет:

Отправить комментарий