QMessageBox输入对话框
时间: 2025-01-04 13:33:17 浏览: 13
### 使用 `QInputDialog` 创建输入对话框
对于创建输入对话框的需求,应当注意到 `QMessageBox` 并不直接支持作为输入对话框使用。相反,在Qt框架内推荐的做法是利用专门设计用于此目的的 `QInputDialog` 类[^1]。
下面是一个简单的例子展示如何通过 `QInputDialog` 获取用户的文本输入:
```cpp
#include <QApplication>
#include <QInputDialog>
#include <QString>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
bool ok;
QString text = QInputDialog::getText(nullptr,
tr("Input Dialog"),
tr("Enter your name:"),
QLineEdit::Normal,
QStringLiteral(""), &ok);
if (ok && !text.isEmpty()) {
qDebug() << "User entered:" << text;
} else {
qDebug() << "No valid input received.";
}
return app.exec();
}
```
上述代码展示了怎样弹出一个带有提示信息 “Enter your name:” 的输入对话框,并等待用户输入名字。如果点击确认按钮并提供了有效输入,则会打印出用户所输入的名字;反之则表示未接收到有效的输入。
值得注意的是,虽然这里介绍的是基于 `QInputDialog` 实现的方式,但在某些情况下也可以考虑自定义对话框来满足更复杂的应用场景需求,比如可以参照提供的 `AddDialog` 类实现更加定制化的界面交互逻辑[^2]。
阅读全文