QSpinBox千分离器

时间:2012-02-14 09:57:30

标签: c++ python qt pyqt qspinbox

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

2 个答案:

答案 0 :(得分:2)

您可以继承QSpinBox并重新实现textFromValue,它负责向spinbox小部件显示值。可能的实现可能如下:

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

使用locale是最好的方法,因为它会根据用户的设置显示分隔符。

答案 1 :(得分:2)

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

ui->doubleSpinBox->setGroupSeparatorShown(true);

以ui

的形式设置属性

在我的QDialog表单中,我使用它来更新千位分隔符的数量,

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

编辑:

  

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