hook-qtpy.py 1.2 KB

12345678910111213141516171819202122232425
  1. #-----------------------------------------------------------------------------
  2. # Copyright (c) 2024, PyInstaller Development Team.
  3. #
  4. # Distributed under the terms of the GNU General Public License (version 2
  5. # or later) with exception for distributing the bootloader.
  6. #
  7. # The full license is in the file COPYING.txt, distributed with this software.
  8. #
  9. # SPDX-License-Identifier: (GPL-2.0-or-later WITH Bootloader-exception)
  10. #-----------------------------------------------------------------------------
  11. from PyInstaller.utils.hooks import qt as qtutils
  12. # This module conditionally imports all Qt bindings. Prevent all available bindings from being pulled in by trying to
  13. # select the most applicable one.
  14. #
  15. # The preference order for this module appears to be: PyQt5, PySide2, PyQt6, PySide6. See:
  16. # https://github.com/spyder-ide/qtpy/blob/3238de7a3e038daeb585c1a76fd9a0c4baf22f11/qtpy/__init__.py#L199-L289
  17. #
  18. # We, however, use the default preference order of the helper function, in order to keep it consistent across multiple
  19. # hooks that use the same helper.
  20. excludedimports = qtutils.exclude_extraneous_qt_bindings(
  21. hook_name="hook-qtpy",
  22. qt_bindings_order=None,
  23. )