Guest User

Untitled

a guest
Dec 13th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. from PyQt5 import QtCore, QtWidgets
  2.  
  3. class SpinBox(QtWidgets.QSpinBox):
  4. upClicked = QtCore.pyqtSignal()
  5. downClicked = QtCore.pyqtSignal()
  6.  
  7. def mousePressEvent(self, event):
  8. last_value = self.value()
  9. super(SpinBox, self).mousePressEvent(event)
  10. if self.value() < last_value:
  11. self.downClicked.emit()
  12. elif self.value() > last_value:
  13. self.upClicked.emit()
  14.  
  15. if __name__ == '__main__':
  16. import sys
  17. app = QtWidgets.QApplication(sys.argv)
  18. s = SpinBox()
  19. l = QtWidgets.QLabel(alignment=QtCore.Qt.AlignCenter)
  20. w = QtWidgets.QWidget()
  21.  
  22. s.upClicked.connect(lambda: l.setText("Up"))
  23. s.downClicked.connect(lambda: l.setText("Down"))
  24.  
  25. lay = QtWidgets.QVBoxLayout(w)
  26. lay.addWidget(s)
  27. lay.addWidget(l)
  28. w.resize(320, w.sizeHint().height())
  29. w.show()
  30. sys.exit(app.exec_())
Add Comment
Please, Sign In to add comment