【发布时间】:2012-03-05 16:51:56
【问题描述】:
使用 QSpinBox 是否可以在用户输入数字时显示数字的千位分隔符 像 10,000 哪种方法最好?
【问题讨论】:
标签: c++ python qt pyqt qspinbox
使用 QSpinBox 是否可以在用户输入数字时显示数字的千位分隔符 像 10,000 哪种方法最好?
【问题讨论】:
标签: c++ python qt pyqt qspinbox
【讨论】:
lineEdit() 对象上的事件。在这里可以得到文本光标的位置。然后就是比较转换前后的文字长度,重新定位光标到setCursorPosition()
您可以继承QSpinBox 并重新实现textFromValue,它负责将值显示到旋转框小部件。可能的实现如下:
QString MySpinBox::textFromValue(int value)
{
return this->locale()->toString(value);
}
使用locale 是最好的方法,因为它会根据用户的设置显示分隔符。
【讨论】:
valueChanged 信号与更新文本的自定义槽连接起来。请注意,在此插槽中,您应该暂时阻止信号(使用blockSignals(true))以避免无限循环。