{"id":24480,"library":"pyvistaqt","title":"PyVistaQt","description":"PyVistaQt provides a Qt-based plotting backend for PyVista, enabling embedded 3D visualization in PyQt5/PySide2/PyQt6/PySide6 applications. Current version: 0.11.4. Release cadence: irregular, with occasional minor/patch updates.","status":"active","version":"0.11.4","language":"python","source_language":"en","source_url":"https://github.com/pyvista/pyvistaqt","tags":["pyvista","qt","visualization","3d","plotting"],"install":[{"cmd":"pip install pyvistaqt","lang":"bash","label":"latest"},{"cmd":"conda install -c conda-forge pyvistaqt","lang":"bash","label":"conda"}],"dependencies":[{"reason":"Core dependency: all PyVista mesh/plotting logic.","package":"pyvista","optional":false},{"reason":"Default Qt backend (or alternative: PySide2, PyQt6, PySide6).","package":"PyQt5","optional":true}],"imports":[{"note":"Main class for embedding a PyVista plotter in a Qt widget.","symbol":"BackgroundPlotter","correct":"from pyvistaqt import BackgroundPlotter"},{"note":"Alternative name for the plotter widget, same as BackgroundPlotter.","symbol":"QtInteractor","correct":"from pyvistaqt import QtInteractor"},{"note":"Manages multiple plotters in a grid layout.","symbol":"MultiPlotter","correct":"from pyvistaqt import MultiPlotter"}],"quickstart":{"code":"import pyvista as pv\nfrom pyvistaqt import BackgroundPlotter\n\nplotter = BackgroundPlotter()\nmesh = pv.Cube()\nplotter.add_mesh(mesh, color='red')\nplotter.show()","lang":"python","description":"Create a Qt window with a 3D view of a cube using the BackgroundPlotter."},"warnings":[{"fix":"Upgrade to Python 3.10+ or stay on pyvistaqt <=0.10.2.","message":"Version 0.11.0 dropped support for Python 3.9; requires Python >=3.10.","severity":"breaking","affected_versions":">=0.11.0"},{"fix":"Replace any 'MainWindow' usage with 'BackgroundPlotter'.","message":"Version 0.11.0 removed the `pyvistaqt.MainWindow` class; use `BackgroundPlotter` instead.","severity":"breaking","affected_versions":">=0.11.0"},{"fix":"Set the Qt API via environment variable (e.g., os.environ['QT_API'] = 'pyqt5') before importing pyvistaqt, or install a Qt binding (PyQt5, PySide2, PyQt6, PySide6) first.","message":"Importing pyvistaqt before setting the Qt API can cause 'ImportError: No Qt bindings available'.","severity":"gotcha","affected_versions":"all"},{"fix":"Remove `threaded` and set `off_screen=False` and `auto_update=True` for similar behavior.","message":"The `threaded` parameter in `BackgroundPlotter` is deprecated since v0.10.0; use `off_screen` and `auto_update` instead.","severity":"deprecated","affected_versions":">=0.10.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install a Qt binding: pip install PyQt5 (or PySide2, PyQt6, PySide6).","cause":"Missing Qt binding.","error":"No module named 'PyQt5'"},{"fix":"Install a Qt binding (e.g., pip install PyQt5) and/or set the QT_API environment variable before importing pyvistaqt.","cause":"No Qt binding found or API not set correctly.","error":"ImportError: Could not import pyvistaqt. You must have a Qt binding installed (e.g., PyQt5)."},{"fix":"Use BackgroundPlotter instead of MainWindow.","cause":"MainWindow was removed in v0.11.0.","error":"AttributeError: module 'pyvistaqt' has no attribute 'MainWindow'"},{"fix":"Set `plotter = BackgroundPlotter(off_screen=True)` or run with a virtual display (xvfb).","cause":"Running without a display (e.g., on a headless server) and not setting off_screen=True.","error":"RuntimeError: This program needs access to the screen. Please run with a virtual display or use off_screen."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}