### from PySide2.QtWidgets import QMainWindow, QApplication from uiLoader import load_ui import sys class MainWindow(QMainWindow): def __init__(self, parent=None): self.pos1 = [0,0] self.pos2 = [0,0] control=" " QMainWindow.__init__(self, parent) load_ui('generator.ui', self) self.konButton.actionTriggered(self.konToolBar.konButton).connect(addaButton) #def newLayout() def handleToolbar(self): if control == "button": print ("button") def addaButton(self): print ('clicked') #control = "button" #handleToolbar def main(): app = QApplication(sys.argv) window = MainWindow() window.show() app.exec_() if __name__ == '__main__': main() ### ### uiloader.py from PySide2.QtUiTools import QUiLoader from PySide2.QtCore import QMetaObject from PySide2.QtWidgets import QMainWindow class UiLoader(QUiLoader): def __init__(self, base_instance): QUiLoader.__init__(self, base_instance) self.base_instance = base_instance def createWidget(self, class_name, parent=None, name=''): if parent is None and self.base_instance: return self.base_instance else: # create a new widget for child widgets widget = QUiLoader.createWidget(self, class_name, parent, name) if self.base_instance: setattr(self.base_instance, name, widget) return widget def load_ui(ui_file, base_instance=None): loader = UiLoader(base_instance) widget = loader.load(ui_file) QMetaObject.connectSlotsByName(widget) return widget ### ### generator.ui MainWindow 0 0 800 727 MainWindow toolBar TopToolBarArea false true button Momentary button Alt+B true switch Momentary button Alt+B true dial continuous dial Alt+B true multiswitch multi-position switch Alt+B true xyControl XY position control Alt+B true vFader one ormore vertical faders Alt+B true hfader one or more horizontal faders Alt+B true scratcher circular control which tracks distance and position from center Alt+B true waveform waveform display with time markers Alt+B ###