Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MySlider(QSlider):
- def __init__(self, type, parent=None):
- super(MySlider, self).__init__(parent)
- self.Type = type
- def paintEvent(self, event):
- super(MySlider, self).paintEvent(event)
- qp = QPainter(self)
- pen = QPen()
- pen.setWidth(2)
- pen.setColor(Qt.red)
- qp.setPen(pen)
- font = QFont('Times', 10)
- qp.setFont(font)
- self.setContentsMargins(50, 50, 50, 50)
- # size = self.size()
- # print(size)
- # print("margins", self.getContentsMargins())
- # print(self.getContentsMargins())
- # print(self.contentsRect())
- contents = self.contentsRect()
- self.setFixedSize(QSize(slider_x, slider_y))
- max_slider = self.maximum()
- min_slider = self.minimum()
- y_inc = 0
- for i in range(max_slider):
- qp.drawText(contents.x() - font.pointSize(), y_inc + font.pointSize() / 2, '{0:2}'.format(slider_step[i]))
- qp.drawLine(contents.x() + font.pointSize(), y_inc, contents.x() + contents.width(), y_inc)
- y_inc += slider_y/4
- Comp4 = self.createSlider("step_size")
- Comp5 = self.createSlider("speed")
- # Size might be fixed too
- windowLayout = QGridLayout()
- windowLayout.setContentsMargins(50, 50, 50, 50)
- HGroupBox = QGroupBox()
- layout = QGridLayout()
- layout.addWidget(Comp4, 0, 0)
- layout.addWidget(Comp5, 0, 1)
- HGroupBox.setLayout(layout)
- HGroupBox.setFixedSize(QSize(740, 480))
- windowLayout.addWidget(HGroupBox, 1, 1)
- self.setLayout(windowLayout)
- self.show()
- def createSlider(self, variant):
- Slider = MySlider(Qt.Vertical)
- Slider.Type = variant
- Slider.setMaximum(5)
- Slider.setMinimum(1)
- Slider.setSingleStep(1)
- Slider.setTickInterval(1)
- Slider.valueChanged.connect(lambda: self.sliderChanged(Slider))
- return Slider
Add Comment
Please, Sign In to add comment