4

使用 QSpinBox 是否可以在用户输入 10,000 时显示数字的千位分隔符,这是最好的方法吗?

4

2 回答 2

4

我知道这已经晚了,但这可能对其他人有所帮助。我用它来更新千位分隔符

ui->doubleSpinBox->setGroupSeparatorShown(true);

或者

以 ui 的形式设置它的属性

在我的 QDialog 表单中,我使用它来更新带有千位分隔符的金额,

void DialogCashPayment::on_doubleSpinBox_valueChanged(double arg1){
     ui->doubleSpinBox->setValue(arg1);
}

编辑:

发现数量为10k以上时,光标位置发生变化的错误。我还不知道如何解决这个问题。也许有人可以解决这个问题。

于 2017-05-25T02:42:16.977 回答
2

您可以子类QSpinBox化并重新实现textFromValue负责将值显示到 spinbox 小部件的内容。一个可能的实现可能如下:

QString MySpinBox::textFromValue(int value)
{
   return this->locale()->toString(value);
}

使用语言环境是最好的方法,因为它将根据用户的设置显示分隔符。

于 2012-02-14T11:01:42.090 回答