[gelöst] Validator?

Alles rund um die Programmierung mit Qt
Antworten
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

[gelöst] Validator?

Beitrag 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
Zuletzt geändert von Marco812 am 17. März 2006 22:23, insgesamt 1-mal geändert.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

QRegExpValidator
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag 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
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Probier es mit QRegExp("\d+,\d"). Damit muß aber eine Nachkommastelle angegeben werden.
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag von Marco812 »

Hallo,

nein so kann ich nichts eingeben.

Gruß

Marco
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag 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
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Mit QLocale, z.B.
QLocale local;
QString str = local.toString(20.2, 'g');
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag von Marco812 »

Hallo,

vielen dank, funktioniert bestes.

Gruß

Marco812
Antworten