Qt QDoubleSpinBox千位分隔符,用户正在键入

Qt QDoubleSpinBox千位分隔符,用户正在键入,qt,qspinbox,Qt,Qspinbox,我想制作一个QDoubleSpinBox,将值格式化为货币,以便用户能够读取 例如 到目前为止,我已经完成了这些事情: 将showGroupSeparator设置为true-但它仅在释放焦点时起作用 通过调用ui->doubleSpinBox->setValue(amount),使用valueChanged信号直接更新组分隔符 问题是 当出现以下情况时,光标位置将不在正确位置: 数量大于10k,有时数量将完全消失。 简言之,它真的很有问题 在这方面有什么办法吗?也许我忽略了一些简单的事情

我想制作一个
QDoubleSpinBox
,将值格式化为货币,以便用户能够读取

例如

到目前为止,我已经完成了这些事情:

  • showGroupSeparator
    设置为true-但它仅在释放焦点时起作用
  • 通过调用
    ui->doubleSpinBox->setValue(amount),使用
    valueChanged
    信号直接更新组分隔符

问题是

当出现以下情况时,光标位置将不在正确位置: 数量大于10k,有时数量将完全消失。 简言之,它真的很有问题


在这方面有什么办法吗?也许我忽略了一些简单的事情。如果有不清楚的地方,请发表评论。谢谢

在更改插槽中的值后,您可以尝试手动将光标位置更改为所需的位置。您好,我在docu中也尝试过,但最近的一次是键盘跟踪,但我找不到它。我正在搜索类似setCursorPosition的内容,但没有找到。您可以使用获取line edit对象。然后你可以使用。你的问题解决了吗?
void DialogCashPayment::on_sbAmount_valueChanged(double arg1)
{
    ui->sbAmount->setValue(arg1);
}