{"id":3237,"library":"pyside6-addons","title":"PySide6 Addons","description":"PySide6-Addons is a complementary Python wheel providing bindings for a wide range of additional Qt 6 modules beyond the essentials, such as Qt3D, QtCharts, QtDataVisualization, QtMultimedia, QtWebEngineWidgets, and more. It is part of the official Qt for Python project, offering comprehensive access to the Qt 6 framework. Maintained by the Qt for Python team, it follows a regular release cadence, often aligning with new Qt versions.","status":"active","version":"6.11.0","language":"en","source_language":"en","source_url":"https://code.qt.io/pyside/pyside-setup","tags":["GUI","Qt","bindings","addons","QtCharts","QtMultimedia","QtWebEngine"],"install":[{"cmd":"pip install pyside6-addons","lang":"bash","label":"Install only addons (requires PySide6 already installed)"},{"cmd":"pip install pyside6","lang":"bash","label":"Install full PySide6 (includes addons)"}],"dependencies":[{"reason":"The core PySide6 package (which includes pyside6-essentials and shiboken6) is implicitly or explicitly required for pyside6-addons functionality.","package":"PySide6","optional":false},{"reason":"Essential utility module for PySide6's Python-C++ bindings.","package":"shiboken6","optional":false},{"reason":"Contains core Qt modules necessary for any PySide6 application.","package":"PySide6-Essentials","optional":false}],"imports":[{"symbol":"QWebEngineView","correct":"from PySide6.QtWebEngineWidgets import QWebEngineView"},{"symbol":"QChartView","correct":"from PySide6.QtCharts import QChartView"},{"symbol":"QMediaPlayer","correct":"from PySide6.QtMultimedia import QMediaPlayer"},{"symbol":"Q3DScene","correct":"from PySide6.Qt3DCore import Q3DScene"}],"quickstart":{"code":"import sys\nfrom PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget\nfrom PySide6.QtCharts import QChartView, QLineSeries\nfrom PySide6.QtCore import QPointF\n\nclass ChartWindow(QMainWindow):\n    def __init__(self):\n        super().__init__()\n        self.setWindowTitle(\"PySide6 Addons: QtCharts Example\")\n        self.setGeometry(100, 100, 600, 400)\n\n        series = QLineSeries()\n        series.append(QPointF(0, 6))\n        series.append(QPointF(2, 4))\n        series.append(QPointF(3, 8))\n        series.append(QPointF(7, 4))\n        series.append(QPointF(10, 5))\n\n        chart = QChartView()\n        chart.chart().addSeries(series)\n        chart.chart().createDefaultAxes()\n        chart.chart().setTitle(\"Simple Line Chart\")\n\n        central_widget = QWidget()\n        layout = QVBoxLayout(central_widget)\n        layout.addWidget(chart)\n        self.setCentralWidget(central_widget)\n\nif __name__ == \"__main__\":\n    app = QApplication(sys.argv)\n    window = ChartWindow()\n    window.show()\n    sys.exit(app.exec())","lang":"python","description":"This quickstart demonstrates how to create a basic PySide6 application and integrate a component from `pyside6-addons`, specifically `QtCharts`, to display a simple line chart. Ensure `pyside6` is installed, which will bring in `pyside6-addons` as a dependency."},"warnings":[{"fix":"Change `from PySide6.QtWidgets import QAction` to `from PySide6.QtGui import QAction`.","message":"`QAction` has moved from `PySide6.QtWidgets` to `PySide6.QtGui` since PySide6.0. Applications migrating from PySide2 or older PySide6 versions need to update their imports.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Update enum references, for example, `Qt.ItemFlags` becomes `Qt.ItemFlag`.","message":"Some enum type names changed from plural to singular (e.g., `Qt.ItemFlags` to `Qt.ItemFlag`). This primarily affected migrations from PyQt6 v6.0 to v6.1, but PySide6 has adopted the singular form since v6.0, meaning older code might break.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Replace `layout.setMargin(value)` with `layout.setContentsMargins(left, top, right, bottom)` or `layout.setContentsMargins(QMargins(value, value, value, value))`.","message":"The `setMargin()` method for `QLayout` objects has been deprecated. Use `setContentsMargins()` instead.","severity":"deprecated","affected_versions":">=6.0.0"},{"fix":"Perform a clean reinstallation: `pip uninstall pyside6 pyside6-addons pyside6-essentials shiboken6`, then `pip cache purge`, and finally `pip install pyside6`.","message":"When upgrading PySide6 (especially from 6.2.x to 6.3.0 and later), `ModuleNotFoundError` can occur for modules that are now part of `pyside6-essentials` or `pyside6-addons`. This is often due to residual files from previous installations or cache issues.","severity":"gotcha","affected_versions":">=6.3.0"},{"fix":"Install `libxcb-cursor0` (e.g., `sudo apt install libxcb-cursor0` on Debian/Ubuntu) and potentially other platform-specific missing libraries.","message":"Users on Linux might encounter 'Could not load the Qt platform plugin \"xcb\"' errors after PySide6 upgrades (e.g., to 6.5), indicating a missing system dependency.","severity":"gotcha","affected_versions":">=6.5.0"},{"fix":"Try using a fresh Python virtual environment. Ensure all PySide6-related packages (pyside6, pyside6-addons, shiboken6) are consistently installed. Check system PATH for conflicting Qt installations.","message":"Importing `QtWebEngineWidgets` (part of `pyside6-addons`) on Windows can sometimes result in `ImportError: DLL load failed while importing QtWebEngineWidgets: The specified module could not be found.` This often points to environmental conflicts or missing runtime components.","severity":"gotcha","affected_versions":"All 6.x versions"},{"fix":"Ensure your Python environment is version 3.10 or newer.","message":"The minimum supported Python version for PySide6 and its addons has been raised to Python 3.10.","severity":"breaking","affected_versions":">=6.11.0"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}