Размещение метки рядом с ручкой ползункаPython

Программы на Python
Ответить
Anonymous
 Размещение метки рядом с ручкой ползунка

Сообщение Anonymous »

Мне нужна метка рядом с ручкой ползунка, отображающая текущее значение. Я использовал код, представленный на форуме, и попытался адаптировать его под Python

Код: Выделить всё

from PyQt5 import QtCore, QtGui, QtWidgets

class test(QtWidgets.QWidget):

def __init__(self, parent = None):
super().__init__(parent)
self.main_layout = QtWidgets.QHBoxLayout(self)
self.main_layout.setContentsMargins(0, 0, 0, 0)
self.main_layout.setSpacing(0)
self.slider = QtWidgets.QSlider(QtCore.Qt.Vertical,self)
self.slider.setMaximum(100)
self.slider.setMinimum(0)
self.slider.setTracking(True)
self.label= QtWidgets.QLabel(self)
self.label.setText("label")
self.main_layout.addWidget(self.slider,0,QtCore.Qt.AlignLeft)
self.main_layout.addWidget(self.label,0,QtCore.Qt.AlignBottom)
self.updateLabel(0)
self.setLayout(self.main_layout)
self.slider.valueChanged.connect(self.updateLabel)

def updateLabel(self,value):
height= QtWidgets.QStyle.sliderPositionFromValue(0,100,self.slider.value(),self.slider.height()-self.label.height(), True)
self.label.move(self.slider.width(), height)
self.label.setText(str(value))

def resizeEvent(self,ev):

self.updateLabel(self.slider.sliderPosition())

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
ui = test()
ui.show()
sys.exit(app.exec_())
В результате я получаю метку со значением, но она всегда отображается внизу окна.
Изображение

Как только я изменяю размер окна, метка перемещается в правильное место.
Изображение

Я что-то пропустил?

Подробнее здесь: https://stackoverflow.com/questions/792 ... der-handle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»