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

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

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

c++ - QInputDialog为getDouble()显示一个逗号而不是一个点-LMLPHP

最佳答案

这取决于当前系统的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/

10-13 04:10