signal qvalidator example c++ qt qlineedit

c++ - qvalidator - Establezca QLineEdit para aceptar solo números



qt signal qlineedit (5)

¿Por qué no usa un QSpinBox para este propósito? Puede configurar los botones arriba / abajo como invisibles con la siguiente línea de códigos:

// ... QSpinBox* spinBox = new QSpinBox( this ); spinBox->setButtonSymbols( QAbstractSpinBox::NoButtons ); // After this it looks just like a QLineEdit. //...

Tengo un QLineEdit donde el usuario debe ingresar solo números.

Entonces, ¿hay una configuración de solo números para QLineEdit ?


Lo mejor es QSpinBox .

Y para un valor doble use QDoubleSpinBox .

QSpinBox myInt; myInt.setMinimum(-5); myInt.setMaximum(5); myInt.setSingleStep(1);// Will increment the current value with 1 (if you use up arrow key) (if you use down arrow key => -1) myInt.setValue(2);// Default/begining value myInt.value();// Get the current value //connect(&myInt, SIGNAL(valueChanged(int)), this, SLOT(myValueChanged(int)));


Si está utilizando QT Creator 5.6, puede hacerlo así:

#include <QIntValidator> ui->myLineEditName->setValidator( new QIntValidator);

Recomiendo poner esa línea después de ui-> setupUi (esto);

Espero que esto ayude.


También podría establecer una inputMask :

QLineEdit.setInputMask("9")

Esto le permite al usuario escribir solo un dígito que va de 0 a 9 . Use múltiples 9 para permitir al usuario ingresar varios números. Vea también la inputMask completa inputMask .

(Mi respuesta está en Python, pero no debería ser difícil transformarla en C ++)