在QT中,如何把一个列表组合成一个字符串,中间用逗号隔开
时间: 2023-06-02 16:04:27 浏览: 104
你可以使用QStringList的join方法将列表组合成一个字符串,中间用逗号隔开。
示例代码:
```
QStringList list = {"apple", "banana", "orange"};
QString str = list.join(",");
// str的值为:"apple,banana,orange"
```
相关问题
qt c++ 一串字符串中有数字逗号数字分隔开,怎么样使用正则表达式获取数字
在Qt C++中,如果你想要从一串包含逗号分隔的数字字符串中提取数字,可以使用QRegularExpression(正则表达式库)配合QString的matchedText()函数。假设你的字符串格式类似于"12,34,56,78,90",你可以按照以下步骤操作:
```cpp
#include <QRegularExpression>
#include <QString>
QString input = "12,34,56,78,90";
QRegularExpression regex("\\d+"); // 正则表达式匹配一个或多个数字
QRegExp match;
if (match.indexIn(input) != -1) { // 搜索输入字符串
while ((match = regex.match(input, match.index())).hasMatch()) {
QString foundNumber = match.captured(0); // 第一个括号内的内容就是数字
qDebug() << foundNumber; // 打印找到的数字
// 这里可以将数字添加到列表或其他数据结构中,具体根据需要处理
}
}
```
QT字体数字千分位用逗号隔开的样式
在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)); // 显示格式化的数字
```
阅读全文