Seite 1 von 1

[gelöst] Validator?

Verfasst: 17. März 2006 09:41
von Marco812
Hallo,

wie kann ich den Validator setzen, das in den LineEdit's nur Zahlen mit einer Nachkommastelle und durch Komma und nicht durch einen Punkt getrent dargestellt werden können.

QList<QLineEdit *> leList= this->findChildren<QLineEdit *>();
for (i=0;i<leList.size();i++)
leList->setValidator( );

Beispiel: (15,3) aber nicht (15.3)

Teilweise werden die Werte vom Benutzer eingegeben und andere vom Programm. leFeld->setText( QString().setNum(15.3);

Gruß

Marco812

Verfasst: 17. März 2006 09:51
von macman
QRegExpValidator

Verfasst: 17. März 2006 11:56
von Marco812
Hallo,

ja das ist kals, aber wie muss dieser aussehen, ich bekomme es nicht hin, habe auch schon in der doku geschaut!?

Gruß

Marco

Verfasst: 17. März 2006 12:03
von macman
Probier es mit QRegExp("\d+,\d"). Damit muß aber eine Nachkommastelle angegeben werden.

Verfasst: 17. März 2006 13:04
von Marco812
Hallo,

nein so kann ich nichts eingeben.

Gruß

Marco

Verfasst: 17. März 2006 13:40
von macman
Die Expression war auch falsch, die Backslashes müssen natürlich doppelt sein. Dann, ganz wichtig, hab ich auch grad erst festgestellt, darf keine Inputmask gesetzt sein. Dann geht es auch.

Verfasst: 17. März 2006 14:13
von Marco812
Hallo,

ja funktioniert jetzt bestens, weist du auch wie ich txtFeld->setText( QString().setNum(myFolat)) den Punkt durch ein Komma ersetzen kann?

Gruß

Marco812

Verfasst: 17. März 2006 15:10
von macman
Mit QLocale, z.B.
QLocale local;
QString str = local.toString(20.2, 'g');

Verfasst: 17. März 2006 22:20
von Marco812
Hallo,

vielen dank, funktioniert bestes.

Gruß

Marco812