All Projects → fredrikaverpil → Pyvfx Boilerplate

fredrikaverpil / Pyvfx Boilerplate

Licence: mit
A boilerplate for creating PySide/PyQt or PySide2/PyQt5 applications running inside of Maya, Nuke and standalone - using Python 2 or 3.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyvfx Boilerplate

Stackoverflow
my answers in Stack Overflow
Stars: ✭ 211 (+61.07%)
Mutual labels:  pyqt5, pyside, pyqt4
Qdarkstylesheet
A dark style sheet for QtWidgets application
Stars: ✭ 1,952 (+1390.08%)
Mutual labels:  pyqt5, pyside, pyqt4
Qt Python Binding Examples
Lots of simple and Pythonic PySide demos
Stars: ✭ 312 (+138.17%)
Mutual labels:  pyqt5, pyside, pyqt4
QtPyConvert
An automatic Python Qt binding transpiler to the Qt.py abstraction layer.
Stars: ✭ 66 (-49.62%)
Mutual labels:  pyqt5, pyqt4, pyside
Qt.py
Minimal Python 2 & 3 shim around all Qt bindings - PySide, PySide2, PyQt4 and PyQt5.
Stars: ✭ 684 (+422.14%)
Mutual labels:  pyqt5, pyside, pyqt4
Pyqt
PyQt Examples(PyQt各种测试和例子) PyQt4 PyQt5
Stars: ✭ 3,783 (+2787.79%)
Mutual labels:  pyqt5, pyside, pyqt4
AnimationDNA
Maya > Arnold > Nuke pipeline
Stars: ✭ 101 (-22.9%)
Mutual labels:  pyside, maya
15-minute-apps
15 minute (small) desktop apps built with PyQt
Stars: ✭ 3,469 (+2548.09%)
Mutual labels:  pyqt5, pyqt4
Scenegraph
PySide scene graph UI framework.
Stars: ✭ 118 (-9.92%)
Mutual labels:  maya, pyside
TACTIC-Handler
PySide based TACTIC client for maya, nuke, 3dsmax, houdini, etc
Stars: ✭ 67 (-48.85%)
Mutual labels:  pyside, maya
idasix
IDAPython compatibility library. idasix aims to create a smooth ida development process and allow a single codebase to function with multiple IDA/IDAPython versions
Stars: ✭ 24 (-81.68%)
Mutual labels:  pyqt4, pyside
PyQtDarkTheme
A flat dark theme for PySide and PyQt.
Stars: ✭ 50 (-61.83%)
Mutual labels:  pyqt5, pyside
15 Minute Apps
15 minute (small) desktop apps built with PyQt
Stars: ✭ 3,086 (+2255.73%)
Mutual labels:  pyqt5, pyqt4
Scihubeva
A Cross Platform Sci-Hub GUI Application
Stars: ✭ 683 (+421.37%)
Mutual labels:  pyqt5, pyside
Git Cola
git-cola: The highly caffeinated Git GUI
Stars: ✭ 1,787 (+1264.12%)
Mutual labels:  pyqt5, pyqt4
Picacg Windows
哔咔漫画window客户端,界面使用PySide2,已实现分类、搜索、收藏夹、下载、在线观看、waifu2x等功能。
Stars: ✭ 35 (-73.28%)
Mutual labels:  pyqt5, pyside
Web2executable
Uses NW.js to generate "native" apps for already existing web apps.
Stars: ✭ 824 (+529.01%)
Mutual labels:  pyside, pyqt4
Upyide
Micropython IDE
Stars: ✭ 57 (-56.49%)
Mutual labels:  pyside, pyqt4
Mgui
Python module for cleaner maya GUI layout syntax
Stars: ✭ 99 (-24.43%)
Mutual labels:  maya
Wechat article
爬取微信公众号文章
Stars: ✭ 121 (-7.63%)
Mutual labels:  pyqt5

pyvfx-boilerplate

Tests PyPI

A boilerplate for creating PyQt4/PySide and PyQt5/PySide2 applications running in Maya, Nuke, Blender, 3DS Max, Houdini, Unreal Engine or completely standalone.

Documentation

Version 3.x

  • The entire boilerplate was re-written so it could be packaged and distributed with PyPi.
  • Adding Blender, 3DS Max, Houdini, and Unreal Engine support.

For details, see CHANGELOG.md.

Noteworthy known issues

  • Does not work with Nuke 10.0v1 on OS X: #7
  • Maya palette glitchy in standalone mode with PySide/PyQt4 on OS X (disabled by default): #9
  • Window will not stay on top of Nuke (OS X) without Qt.Tool or Qt.WindowStaysOnTopHint: #12

Installation

Easy way:

pip install pyvfx-boilerplate

Long way:

git clone https://github.com/fredrikaverpil/pyvfx-boilerplate.git
cd pyvfx-boilerplate
python setup.py sdist bdist_wheel
pip install dist/*

Example usage

Pip installs a program named pyvfx-boilerplate as an example Run as standalone: (you may need to additionally install PyQt4, PyQt5, PySide or PySide2 for standalone to work depending on your system configuration)

pyvfx-boilerplate

Run in script editor of Maya or Nuke:

import sys
sys.path.append('/path/to/pyvfx-boilerplate')
from pyvfx_boilerplate import boilerplate_ui
bpr = boilerplate_ui.BoilerplateRunner()
bpr.run_main()

Modifying the boilerplate

  • See inheritance example above

Development guidelines

Since the boilerplate relies on Qt.py, you should design your application as if you were designing it for PyQt5/PySide2. This means creating widgets using QtWidgets rather than QtGui. The Qt.py module takes care of the remapping and makes for compatibility with PyQt4/PySide. Read more over at the Qt.py repository.

Tip: when you cannot rely on Qt.py, create an issue (probably over at Qt.py) and/or detect which binding is being used and write some custom code:

from Qt import QtCompat

if QtCompat.__binding__ in ('PyQt4', 'PySide'):
    # Do something if PyQt4 or PySide is used

if QtCompat__binding.startswith('PySide'):
    # Do something if PySide or PySide2 is used

if QtCompat__binding == 'PySide2':
    # Do something if PySide2 is used

Issues

Something wrong, have a question or wish to file a feature request?

Open up an issue here!

Contribute

If you wish to contribute, pull requests are more than welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].