problemas con el formato
-
Hola, necesito saber como colocar cifras en un lineEdit pero que aparezcan con los puntos separando los miles, es decir 1.000 o 10.000, logre hacer un paso pero luego cuando necesito ese numero, al tomarlo del lineEdit no es el mismo, da 0, les envio el procedimiento de practica:
void MainWindow::cambio()
{
if (valor >=10000 and valor <= 99999)
{
ui->ventana->setInputMask ( "99.999" );
ui->ventana->setText(QString::number(valor));
}
else
{
if (valor >99999 and valor <= 999999)
{
ui->ventana->setInputMask ( "999.999" );
ui->ventana->setText(QString::number(valor));
}
else
{
if (valor >999999 and valor <= 9999999)
{
ui->ventana->setInputMask ( "9.999.999" );
ui->ventana->setText(QString::number(valor));
}
else
{
if (valor >9999999 and valor <= 99999999)
{
ui->ventana->setInputMask ( "99.999.999" );
ui->ventana->setText(QString::number(valor));
}
}
}
}
}
Gracias por todo. Saludos -
Hola
Para no poner tantos if, usa 0 (ceros) en lugar de 9 (nueves) en la máscara, el cero indica un dígito, pero no es requerido introducirlo, así con una sola máscara podrás abarcar todo el rango de valores:
https://doc.qt.io/qt-6/qlineedit.html#inputMask-prop
En cuanto a lo que obtienes 0, ¿qué es, al convertirlo a número o cuando coges lo introducido en el QLineEdit?
¿ventana es el QLineEdit?
Un saludo