我知道这已经晚了,但这可能对其他人有帮助。我用它来更新千位分隔符
ui->doubleSpinBox->setGroupSeparatorShown(true);
或者
以 ui 形式设置属性 it
在我的 QDialog 表单中,我用它来更新带有千位分隔符的金额,
void DialogCashPayment::on_doubleSpinBox_valueChanged(double arg1){
ui->doubleSpinBox->setValue(arg1);
}
Run Code Online (Sandbox Code Playgroud)
编辑:
发现一个bug,当金额达到10k以上时,光标位置发生了变化。我还不知道如何解决这个问题。也许有人可以解决这个问题。
您可以子类化QSpinBox
并重新实现textFromValue
负责将值显示到旋转框小部件的。可能的实现如下:
QString MySpinBox::textFromValue(int value)
{
return this->locale()->toString(value);
}
Run Code Online (Sandbox Code Playgroud)
使用区域设置是最好的方法,因为它将根据用户的设置显示分隔符。