class SpinBoxButtonFrame(QFrame):
    add = pyqtSignal()
    remove = pyqtSignal(QFrame)
    
    def __init__(self, first=False):
        QFrame.__init__(self)
        self.ui = Ui_SpinBoxButtonFrame()
        self.ui.setupUi(self)
        
        self.ui.btnMinus.setVisible(not first)
        self.ui.btnPlus.setVisible(first)
        
        self.connectSlots()
        
    def connectSlots(self):
        self.ui.btnPlus.pressed.connect(self.emitAddSignal)
        self.ui.btnMinus.pressed.connect(self.emitRemoveSignal)
        
    def emitAddSignal(self):
        self.add.emit()
        
    def emitRemoveSignal(self):
        self.remove.emit(self)
        
    def value(self):
        return self.ui.spinBox.value()
 def __init__(self, first=False):
     QFrame.__init__(self)
     self.ui = Ui_SpinBoxButtonFrame()
     self.ui.setupUi(self)
     
     self.ui.btnMinus.setVisible(not first)
     self.ui.btnPlus.setVisible(first)
     
     self.connectSlots()