Source code for solutions.gui.debug

"""Debugging PyQt6 programs.

This module is not imported by any other modules.  It is used only to
debug PyQt6 programs.

Import this module and call set_trace() to start debugging.
"""


import sys
import pdb
import PyQt6.QtCore as qc


# Avoid infinite loop in pdb
qc.pyqtRemoveInputHook()


# Set to False from pdb to disable debug.set_trace()
enabled = True  # pylint: disable=invalid-name
"""Set to false to disable `debug.set_trace()`."""


[docs]def set_trace(): """Execute pdb.set_trace() if debug.enabled is true.""" if not enabled: return debugger = pdb.Pdb() debugger.set_trace(sys._getframe().f_back) # pylint: disable=W0212