c++ - QInputDialog 在 getDouble() 中显示逗号而不是点

标签 c++ qt

我在 Qt QInputDialog::getDouble() 中用于输入十进制数。由于某种原因,默认情况下输出不是点而是逗号,尽管在教程中显示点。

你能告诉我它是什么吗?或者新版本只能使用逗号吗?点拒绝键盘

double test = QInputDialog::getDouble(this, "Error!", "Write from 0 to 1!", 0.0, -2147483647, 2147483647, 3, &ok );

enter image description here

最佳答案

这取决于您当前系统的QLocale设置。如果您使用 QInputDialog 实例而不是静态方法,则可以自行设置 QLocale 设置(无需更改整个应用程序的值)。

例如:

QInputDialog* dialog = new QInputDialog();
dialog->setInputMode(QInputDialog::DoubleInput);
dialog->setLocale(QLocale(QLocale::English, QLocale::UnitedKingdom)); // Will use a dot
dialog->exec();
qDebug() << dialog->doubleValue();

dialog->setLocale(QLocale(QLocale::French, QLocale::France)); // Will use a comma
dialog->exec();
qDebug() << dialog->doubleValue();

参见 Qt documentation配置QInputDialog(范围、标题等)

关于c++ - QInputDialog 在 getDouble() 中显示逗号而不是点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56047436/

相关文章:

c++ - 从 serperate .cpp 指向数组的指针

c# - Windows Mobile 6.0 蓝牙串口掉电/挂起后保活

c++ - 程序在运行时崩溃,但在单步执行时不会崩溃

qt - QML 中的parent.right(例如)到底是什么?它与parent.anchors.right 有什么不同?

c++ - 允许 C++ 类访问其他类的某些 "internal"成员,但不是私有(private)的?

c++ - 子弹车addWheel参数

c++ - 更新 QSqlTableModel 后 View 未重绘

sql - Qt 的嵌入式数据库好吗?

C++ 编码数据库元数据信息的最佳模式

c++ - 多重继承、虚方法冲突和来自基类的指针