QT字体数字千分位用逗号隔开的样式
时间: 2024-10-18 09:04:03 浏览: 46
给数字添加千分位分隔符.md
在Qt中,要设置数字型字段(如QLineEdit、QDoubleSpinBox等)显示千分位分隔符为逗号,可以使用自定义的`QStringFormat`实例和`number()`函数来格式化数字。首先,在你的样式表或者应用程序代码中,你可以这样做:
```css
QLineEdit, QDoubleSpinBox {
formatter: "###,###.0";
}
```
这里的`formatter`属性是一个字符串,`"###,###.0"`表示三位数一组,并用逗号间隔,小数点后保留一位。
如果要在代码中动态设置,可以创建一个`QStringFormatter`,然后设置其格式:
```cpp
QTextStream format;
format.setNumberFlags(QLocale:: grouping());
format.setRealNotation(QLocale::Standard);
format.setFieldWidth(6); // 控制总宽度
format.setDecimalPoint(',');
format.setGroupingSize(3); // 设置每三位一组
QLineEdit *lineEdit = new QLineEdit();
lineEdit->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
lineEdit->setFontMetrics(format.font()); // 设置格式化的字体
lineEdit->setText(QString::number(数值, 'f', 2)); // 显示格式化的数字
```
阅读全文