我在 Qt QInputDialog::getDouble()
中用于输入十进制数。由于某种原因,默认情况下输出不是点而是逗号,尽管在教程中显示点。
你能告诉我它是什么吗?或者新版本只能使用逗号吗?点拒绝键盘
double test = QInputDialog::getDouble(this, "Error!", "Write from 0 to 1!", 0.0, -2147483647, 2147483647, 3, &ok );
最佳答案
这取决于您当前系统的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/