怎么获取C++qt中lineedit中的多个数字,每个数字以空格相隔,并且将多个数字保存到一个数组中
时间: 2023-06-15 17:04:31 浏览: 89
你可以使用QString的split函数将字符串按照空格分割成一个QStringList,然后将QStringList中的每个元素转换成数字存入一个int数组中。下面是示例代码:
```c++
QString str = ui->lineEdit->text(); // 获取lineEdit中的文本
QStringList strList = str.split(" "); // 将字符串按照空格分割成QStringList
int arr[strList.size()]; // 定义一个int数组,大小为QStringList的大小
// 将QStringList中的每个元素转换成数字存入int数组中
for(int i = 0; i < strList.size(); i++) {
arr[i] = strList[i].toInt();
}
```
这样就可以将lineEdit中的多个数字以空格相隔并且保存到一个int数组中了。
相关问题
怎么获取C++qt中lineedit中的多个数字,每个数字以空格相隔
你可以使用QString的split函数来将字符串按照空格分割成多个数字,然后再转换成int类型。
以下是示例代码:
```cpp
QString input = ui->lineEdit->text(); // 获取lineEdit中的文本
QStringList nums = input.split(" "); // 将文本按照空格分割成多个数字
QList<int> intList; // 用于存储转换后的整数
foreach (QString num, nums) { // 遍历分割后的数字字符串
intList.append(num.toInt()); // 将字符串转换成整数并添加到intList中
}
```
上述代码中,`input`是从`lineEdit`中获取的文本,`nums`是将文本按照空格分割后得到的字符串列表,`intList`是用于存储转换后整数的列表。使用`foreach`遍历分割后的数字字符串,将每个字符串转换成整数并添加到`intList`中。
qt中获取多个lineedit内容存放到一个数组中
您可以通过以下代码获取多个 QLineEdit 的文本并存放到一个数组中:
```python
line_edits = [lineEdit1, lineEdit2, lineEdit3] # 用列表存储 QLineEdit 对象
contents = [edit.text() for edit in line_edits] # 获取每个 QLineEdit 的文本
```
或者您也可以使用以下代码:
```python
contents = []
for i in range(num): # num 为 QLineEdit 的数量
line_edit = window.findChild(QLineEdit, f"lineEdit{i+1}")
contents.append(line_edit.text())
```
其中,`window` 是您的主窗口对象,`num` 为 QLineEdit 的数量,`findChild()` 方法可以查找指定名称的控件。