C++Qt实现在QLineEdit中输入数字,通过Add的按钮,添加到文本框中
时间: 2024-03-06 22:48:51 浏览: 228
你可以使用Qt中的信号槽机制实现这个功能。将QLineEdit的textChanged信号连接到一个槽函数,每次输入数字时都会触发该槽函数。在槽函数中,你可以将输入的数字保存到一个QStringList中。当用户点击Add按钮时,将QStringList中的数字以一定格式添加到文本框中即可。
以下是一个简单的示例代码:
```cpp
// 在头文件中声明以下成员变量和槽函数
private:
QStringList nums;
private slots:
void onNumChanged(const QString &text);
void onAddClicked();
// 在源文件中实现槽函数
void Widget::onNumChanged(const QString &text)
{
if (text.isEmpty()) {
return;
}
// 如果输入的不是数字则不加入列表
bool ok;
int num = text.toInt(&ok);
if (!ok) {
return;
}
nums.append(text);
}
void Widget::onAddClicked()
{
QString content = nums.join(", "); // 将数字以逗号分隔的形式拼接成一行文本
ui->textEdit->append(content); // 将文本添加到文本框中
nums.clear(); // 清空数字列表
}
// 在构造函数中连接信号槽
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
ui->setupUi(this);
connect(ui->lineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(onNumChanged(const QString&)));
connect(ui->addButton, SIGNAL(clicked()), this, SLOT(onAddClicked()));
}
```
在上面的代码中,我们将QLineEdit的textChanged信号连接到onNumChanged槽函数,在槽函数中解析用户输入的数字并将其存储到QStringList中。当用户点击Add按钮时,将QStringList中的数字以逗号分隔的形式拼接成一行文本,并添加到QTextEdit中。最后,我们在构造函数中连接信号槽。
阅读全文