INNER CODE UNIT · Python
Application
pairinteraction/pairinteraction · src/pairinteraction_gui/app.py:33
class Application(QApplication):
"""Add some global signals to the QApplication."""
signals = MainSignals()
@staticmethod
def instance() -> Application:
"""Return the current instance of the application."""
return QApplication.instance() # type: ignore [return-value]
def allow_ctrl_c(self) -> None:
# Create a pipe to communicate between the signal handler and the Qt event loop
pipe_r, pipe_w = os.pipe()
def signal_handler(signal: int, frame: FrameType | None) -> None:
os.write(pipe_w, b"x") # Write a single byte to the pipe
signal.signal(signal.SIGINT, signal_handler)