Guest User

Untitled

a guest
Jan 17th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. class MySlider(QSlider):
  2. def __init__(self, type, parent=None):
  3. super(MySlider, self).__init__(parent)
  4. self.Type = type
  5.  
  6. def paintEvent(self, event):
  7. super(MySlider, self).paintEvent(event)
  8. qp = QPainter(self)
  9. pen = QPen()
  10. pen.setWidth(2)
  11. pen.setColor(Qt.red)
  12.  
  13. qp.setPen(pen)
  14. font = QFont('Times', 10)
  15. qp.setFont(font)
  16. self.setContentsMargins(50, 50, 50, 50)
  17. # size = self.size()
  18. # print(size)
  19. # print("margins", self.getContentsMargins())
  20. # print(self.getContentsMargins())
  21. # print(self.contentsRect())
  22. contents = self.contentsRect()
  23. self.setFixedSize(QSize(slider_x, slider_y))
  24. max_slider = self.maximum()
  25. min_slider = self.minimum()
  26. y_inc = 0
  27. for i in range(max_slider):
  28. qp.drawText(contents.x() - font.pointSize(), y_inc + font.pointSize() / 2, '{0:2}'.format(slider_step[i]))
  29. qp.drawLine(contents.x() + font.pointSize(), y_inc, contents.x() + contents.width(), y_inc)
  30. y_inc += slider_y/4
  31.  
  32. Comp4 = self.createSlider("step_size")
  33. Comp5 = self.createSlider("speed")
  34. # Size might be fixed too
  35. windowLayout = QGridLayout()
  36. windowLayout.setContentsMargins(50, 50, 50, 50)
  37. HGroupBox = QGroupBox()
  38. layout = QGridLayout()
  39. layout.addWidget(Comp4, 0, 0)
  40. layout.addWidget(Comp5, 0, 1)
  41. HGroupBox.setLayout(layout)
  42. HGroupBox.setFixedSize(QSize(740, 480))
  43. windowLayout.addWidget(HGroupBox, 1, 1)
  44. self.setLayout(windowLayout)
  45. self.show()
  46.  
  47. def createSlider(self, variant):
  48. Slider = MySlider(Qt.Vertical)
  49. Slider.Type = variant
  50. Slider.setMaximum(5)
  51. Slider.setMinimum(1)
  52. Slider.setSingleStep(1)
  53. Slider.setTickInterval(1)
  54. Slider.valueChanged.connect(lambda: self.sliderChanged(Slider))
  55. return Slider
Add Comment
Please, Sign In to add comment