class ToolboxWindow(QObject): def __init__(self, overlay_widget, **args): super().__init__(**args) self.overlay_widget = overlay_widget self.window = QUiLoader().load('toolbox.ui') self.window.setWindowFlags(self.window.windowFlags() | Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) self.window.resize(0, 0) tools = [Marker(), Eraser()] ch = WidgetFinder(self.window) ch.btnDisable.clicked.connect(lambda: overlay_widget.unset_tool()) ch.btnMarker.clicked.connect(lambda: overlay_widget.set_tool('marker')) ch.btnHighlighter.clicked.connect( lambda: overlay_widget.set_tool('highlighter')) ch.btnEraser.clicked.connect(lambda: overlay_widget.set_tool('eraser')) ch.btnClear.clicked.connect(lambda: overlay_widget.clear()) ch.btnUndo.clicked.connect(lambda: overlay_widget.undo()) ch.btnRedo.clicked.connect(lambda: overlay_widget.redo()) ch.btnClose.clicked.connect(QApplication.quit) ch.btnRed.clicked.connect(lambda: overlay_widget.set_tool('red')) ch.btnGreen.clicked.connect(lambda: overlay_widget.set_tool('green')) ch.btnBlue.clicked.connect(lambda: overlay_widget.set_tool('blue')) ch.btnYellow.clicked.connect(lambda: overlay_widget.set_tool('yellow')) ch.btnPurple.clicked.connect(lambda: overlay_widget.set_tool('purple')) ch.btnCyan.clicked.connect(lambda: overlay_widget.set_tool('cyan'))