{"id":1659,"library":"pyqt6-qt6","title":"PyQt6 Qt6 Core Components","description":"This package provides the core Qt6 shared libraries (DLLs/SOs) compiled for Python, which are a fundamental dependency for the PyQt6 bindings. It does not contain any Python API for direct use, but rather the underlying C++ runtime components. It is typically installed automatically as a dependency of the `PyQt6` package. The current version is 6.11.0, and it generally follows the release schedule of the main PyQt6 library and the underlying Qt framework.","status":"active","version":"6.11.0","language":"en","source_language":"en","source_url":"https://www.riverbankcomputing.com/software/pyqt/intro","tags":["GUI","Qt","PyQt","desktop","runtime","bindings","framework"],"install":[{"cmd":"pip install pyqt6-qt6","lang":"bash","label":"Install only Qt6 core binaries"},{"cmd":"pip install PyQt6","lang":"bash","label":"Recommended: Install PyQt6 (will include pyqt6-qt6)"}],"dependencies":[],"imports":[],"quickstart":{"code":"import sys\nfrom PyQt6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout\n\n# Note: pyqt6-qt6 provides the underlying Qt6 C++ libraries for PyQt6 to use.\n# You do not import directly from pyqt6-qt6 in your Python code.\n\nif __name__ == '__main__':\n    app = QApplication(sys.argv)\n\n    window = QWidget()\n    window.setWindowTitle('PyQt6 with pyqt6-qt6 runtime')\n\n    layout = QVBoxLayout()\n    label = QLabel('Hello from PyQt6!')\n    layout.addWidget(label)\n\n    window.setLayout(layout)\n    window.show()\n\n    sys.exit(app.exec())","lang":"python","description":"This quickstart demonstrates a basic PyQt6 application. The `pyqt6-qt6` package provides the necessary underlying Qt6 C++ runtime libraries that `PyQt6` (which handles the Python bindings) uses to function. You do not directly import or interact with `pyqt6-qt6` from your Python code; its presence as a dependency is sufficient for PyQt6 applications to run."},"warnings":[{"fix":"Ensure all Python-level imports use `PyQt6.*`.","message":"The `pyqt6-qt6` package provides the *runtime C++ libraries* of Qt6, not Python bindings or an API for direct import. Python applications should import modules directly from the `PyQt6` package (e.g., `from PyQt6.QtWidgets import QApplication`). Attempting to import from `pyqt6-qt6` will result in an `ImportError`.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Always install `PyQt6` directly via `pip install PyQt6` to ensure compatible dependencies, or explicitly match `pyqt6-qt6` version to your `PyQt6` installation if managing them separately.","message":"Version compatibility between `pyqt6-qt6` and `PyQt6` is crucial. Mismatched versions (e.g., `PyQt6==6.5` and `pyqt6-qt6==6.11`) can lead to runtime errors, crashes, or unexpected behavior. It is generally recommended to install `PyQt6`, which will automatically pull in a compatible `pyqt6-qt6` version.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Test deployments on target OS environments. For cross-platform deployment, ensure separate builds for each OS, as the underlying Qt6 binaries are not universal.","message":"When deploying applications, remember that `pyqt6-qt6` bundles platform-specific binaries. If packaging your application (e.g., with PyInstaller or cx_Freeze), ensure that the target environment has the correct `pyqt6-qt6` binaries or that your packaging tool correctly includes them for the intended operating system.","severity":"gotcha","affected_versions":"All versions"},{"fix":"When troubleshooting, ensure that system PATH variables are not inadvertently pointing to other Qt installations. For isolated environments, consider using virtual environments or containerization.","message":"Multiple Qt installations (e.g., a system-wide Qt installation and the one provided by `pyqt6-qt6`) can lead to conflicts in environment variables (like PATH) or during runtime, causing applications to load incorrect Qt libraries.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-09T00:00:00.000Z","next_check":"2026-07-08T00:00:00.000Z"}