Note
Go to the end to download the full example code.
Select the VisPy backend#
VisPy selects the first usable GUI backend it finds. When multiple GUI
toolkits are installed, such as PyQt5 and PySide6, choose the backend before
importing cigvis or creating any VisPy canvas:
import vispy
vispy.use(app="pyside6") # or "pyqt5", "pyqt6", "glfw", ...
import cigvis
For plain cigvis.plot3D(..., gui=False), any working VisPy backend can be
used. For cigvis.plot3D(..., gui=True), use pyside6. The GUI inspector
is a PySide6 Qt window, so mixing it with a previously selected PyQt backend is
not supported.
Run this file to inspect or select the backend without opening a window:
python examples/3Dvispy/00-select_vispy_backend.py
python examples/3Dvispy/00-select_vispy_backend.py pyside6
python examples/3Dvispy/00-select_vispy_backend.py pyside6 --gui
import argparse
import vispy
from vispy import app as vispy_app
def main():
parser = argparse.ArgumentParser(
description="Inspect or choose the VisPy application backend.")
parser.add_argument(
"backend",
nargs="?",
help="VisPy backend name, e.g. pyside6, pyqt5, pyqt6, glfw, or sdl2.")
parser.add_argument(
"--gui",
action="store_true",
help="Check the backend for cigvis.plot3D(..., gui=True).")
args = parser.parse_args()
if args.gui and args.backend and args.backend.lower() != "pyside6":
parser.error("cigvis.plot3D(..., gui=True) requires the pyside6 backend")
if args.backend:
vispy.use(app=args.backend)
app = vispy_app.use_app()
print(f"VisPy backend: {app.backend_name}")
if args.gui and app.backend_name.lower() != "pyside6":
raise SystemExit("cigvis.plot3D(..., gui=True) requires pyside6")
if __name__ == "__main__":
main()