点QIineEdite弹出弹窗输入值显示在QLineEdit上
时间: 2024-09-20 22:07:28 浏览: 19
在Qt中,`QInputDialog` 是一个方便的工具,用于从用户那里获取输入并显示在一个对话框中。如果你想让用户在弹出窗口中输入值并将其显示到 `QLineEdit`(单行文本编辑器)上,你可以使用以下步骤:
首先,确保你已经包含了所需的头文件:
```cpp
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QInputDialog>
```
然后,创建一个包含 `QLineEdit` 的窗口,并在适当的时候调用 `QInputDialog` 获取输入:
```cpp
class Dialog : public QDialog {
public:
Dialog(QWidget *parent = nullptr) : QDialog(parent) {
// 创建 QLineEdit
QLineEdit *lineEdit = new QLineEdit(this);
lineEdit->setPlaceholderText("请输入值");
// 当按钮被点击时,触发输入对话框
QPushButton *button = new QPushButton("输入", this);
connect(button, &QPushButton::clicked, this, [lineEdit]() {
QString input = QInputDialog::getText(this, "提示", "请输入值:", QLineEdit::Normal, "");
if (!input.isEmpty()) {
lineEdit->setText(input);
}
});
layout()->addWidget(lineEdit);
layout()->addWidget(button);
}
private:
QVBoxLayout *layout() { return dynamic_cast<QVBoxLayout*>(layout()); } // 使用 Qt5.6+ 的范式
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Dialog dialog;
dialog.show();
return app.exec();
}
```
在这个例子中,当用户点击“输入”按钮时,会弹出一个对话框,用户可以在其中输入值,输入后立即更新 `QLineEdit` 中的内容。