gpt4 book ai didi

c++ - QDoubleValidator 接受多个小数点

转载 作者:行者123 更新时间:2023-11-30 01:51:01 24 4
gpt4 key购买 nike

我正在为我的 QLineEdit 使用 QDoubleValidator。应用程序语言环境(在 QtCreator 中设置)是 QLocale::German

现在,当我输入一个有效的 double (使用点或逗号作为小数点分隔符)写入文本编辑器以及将字符串转换为 float 时,效果非常好。但验证器还允许我编写带有多个小数点分隔符的内容。 123.567,890,,03.4... 等字符串得到验证但无法转换为 float 。

有没有办法告诉 QDoubleValidator 只验证实数 数字而不仅仅是没有字母字符的字符串?

我基本上想要一个验证器,它只验证可以转换为 float 的字符串使用默认语言环境或德语语言环境。

最佳答案

到目前为止,我还没有使用过QDoubleValidator,但我可以通过使用 QRegExpValidator 来实现这种行为:

QRegExpValidator* rxv = new QRegExpValidator(QRegExp("[+-]?\\d*[\\.,]?\\d+"), this);
lineedit->setValidator(rxv);

关于c++ - QDoubleValidator 接受多个小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com