En este artículo veremos cómo podemos obtener la señal de cambio de rango 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 predeterminado varía de 0 a 99. 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 establecer mediante programación con la ayuda del setValue
método. El rango es básicamente una combinación de valor mínimo y máximo que se puede establecer con la ayuda del setRange
método. Esta señal se emite cuando el rango del control deslizante ha cambiado, siendo min el nuevo mínimo y max el nuevo máximo.
Para hacer esto, usaremos
rangeChanged
el método con el objeto de la barra de desplazamiento.Sintaxis: scroll.rangeChanged.connect(método)
Argumento: toma el método como argumento
Retorno : Devuelve Ninguno
A continuación se muestra la implementación.
# 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) # 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 range changed signal scroll.rangeChanged.connect(lambda: do_action()) # method called when signal is emitted def do_action(): # setting text to the label label.setText("Range Changed Signal Emitted") # setting range of scroll bar scroll.setRange(200, 250) # 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