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