PyQt5 QSpinBox: verificar si el usuario puede cambiar el valor usando el teclado o no

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 setReadOnlymé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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *