En este artículo veremos cómo podemos obtener la señal de cambio de valor de QScrollBar. QScrollBar es un control que permite al usuario acceder a partes de un documento que es más grande que el widget utilizado para mostrarlo. El control deslizante es el objeto desplazable dentro de la barra. El valor depende básicamente de la posición del control deslizante, el valor de la barra de desplazamiento cambia según la posición del control deslizante, el valor aumenta cuando el control deslizante baja y disminuye cuando el control deslizante sube. Se puede configurar mediante programación con la ayuda del método setValue. Esta señal se emite cuando se cambia el valor de la barra de desplazamiento.
Para hacer esto, usaremos el método valueChanged con el objeto de la barra de desplazamiento.
Sintaxis: scroll.valueChanged.connect(método)
Argumento: Toma el método como argumento
Retorno: Devuelve Ninguno
A continuación se muestra la implementación.
Python3
# importing libraries from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui from PyQt5.QtGui import * from PyQt5.QtCore import * import sys class Window(QMainWindow): def __init__(self): super().__init__() # setting title self.setWindowTitle("Python ") # setting geometry self.setGeometry(100, 100, 500, 400) # calling method self.UiComponents() # showing all the widgets self.show() # method for components def UiComponents(self): scroll = QScrollBar(self) # setting geometry of the scroll bar scroll.setGeometry(100, 50, 30, 200) # setting value of scroll bar scroll.setValue(25) # making its background color to green scroll.setStyleSheet("background : lightgrey;") # creating a label label = QLabel("GeesforGeeks", self) # setting geometry to the label label.setGeometry(200, 100, 300, 80) # making label multi line label.setWordWrap(True) # getting value changed signal scroll.valueChanged.connect(lambda: do_action()) # method called when signal is emitted def do_action(): # getting current value value = scroll.value() # setting text to the label label.setText("Current Value : " + str(value)) # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() # start the app sys.exit(App.exec())
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA