Dev - C++ - ¿Ayuda con QString y una caja de texto?

 
Vista:
sin imagen de perfil
Val: 34
Ha disminuido su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

¿Ayuda con QString y una caja de texto?

Publicado por Allan (17 intervenciones) el 24/08/2017 16:54:35
Ola foro

Mi pregunta es que andube buscando en la documentación de Qt y sobre como detectar si el usuario escribió letras o caracteres especiales dentro de una caja de texto, porque en esa caja solo necesito que escriban números si alguien me pudiera ayudar gracias...

Yo busque y me encontre con varias maneras y probe todas las que encontre:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <QString>
#include <QMessageBox>
 
bool detectarNumeros(QString entrada)
{
     for(int i = 0; i < entrada.lenght(); i++)
     {
 
             if(!(entrada[i] >= 'a' && entrada[i] <= 'z') || !(entrada[i] >= 'A' && entrada[i] <= 'Z'))
             {
                     return true;
             }
 
     }
 
     return false;
}
 
//---------------La otra manera es::--------------------------------------//
if(isalpha(entrada[i]))
             {
                     return true;
             }
 
//----------------Otra----------------------------------------------------//
 
if(!isNum(entrada[i]))
             {
                     return true;
             }
 
//----------------- La cajita de texto se activa con un boton ----------------------------//
 
void button()
{
 
      //-------------- La cajita de texto automaticamente contiene un QString -------------------//
 
      if(detectarNumeros(ui->txtCodig->text())
      {
              QMessageBox::warning(this, "El código solo puede contener numeros!");
      }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 171
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

¿Ayuda con QString y una caja de texto?

Publicado por juanki (73 intervenciones) el 24/08/2017 20:25:50
Hola

Cuando dices "caja de texto", al estar usando Qt, imagino que te refieres a un QLineEdit. Si solo quieres que se puedan teclear números, usa una máscara, no tienes que programar nada:

http://doc.qt.io/qt-5/qlineedit.html#inputMask-prop

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 34
Ha disminuido su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

¿Ayuda con QString y una caja de texto?

Publicado por Allan (17 intervenciones) el 30/08/2017 17:12:32
Gracias por tu respuesta, use un QRegExpValidator y una expresión regulada, ya logré controlar que solo escriban números o lo que quiero...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar