En este artículo veremos cómo podemos verificar si el usuario puede cambiar el valor del cuadro de número usando el teclado o no, cuando creamos un cuadro de número hay básicamente dos formas de cambiar el valor del cuadro de número, una es usando los botones de flecha o otra forma es usando el teclado. Podemos detener la entrada del teclado del cuadro de número utilizando el setReadOnly
método con su objeto de edición de línea.
Para verificar esto, usamos el método isReadOnly con el objeto de edición de línea
Sintaxis: line_edit.isReadOnly()
Argumento: no requiere argumento
Retorno: Devuelve bool
Para hacer esto, tenemos que hacer lo siguiente:
1. Crear una ventana principal
2. Crear un cuadro de número
3. Obtener el objeto de edición de línea del cuadro de número
5. Crear una etiqueta para mostrar el resultado
6. Verificar si la edición de línea es solo leer o no
7. Mostrar el valor de verificación en la pantalla a través de la etiqueta
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, 600, 400) # calling method self.UiComponents() # showing all the widgets self.show() # method for widgets def UiComponents(self): # creating spin box self.spin = QSpinBox(self) # setting geometry to spin box self.spin.setGeometry(100, 100, 250, 40) # setting prefix to spin self.spin.setPrefix("Prefix ") # setting suffix to spin self.spin.setSuffix(" Suffix") # getting the line edit line = self.spin.lineEdit() # making the line edit part read only line.setReadOnly(True) # creating a label label = QLabel(self) # setting geometry to the label label.setGeometry(100, 200, 300, 30) # checking if line edit is read only check = line.isReadOnly() # setting text to label label.setText("Keyboard can't change value ? : " + str(check)) # 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