qt通过输入对话框输入几组经纬度,并储存在一个变量中。
时间: 2024-12-18 12:22:27 浏览: 4
input-form-dialog:Qt的多类型输入对话框
在Qt中,你可以使用QInputDialog或者QLineEdit等控件让用户输入经纬度数据。首先,你需要创建一个对话框,包含两个单独的文本框用于输入经度和纬度。以下是一个简单的步骤:
1. 导入所需的库:
```cpp
#include <QApplication>
#include <QInputDialog>
```
2. 创建函数获取用户输入:
```cpp
QString getLatLonInput() {
QStringList latLon = QInputDialog::getText(nullptr, "输入经纬度", "请输入经度:", QLineEdit::Normal, "", Qt::DoubleValidator);
if (latLon.isEmpty()) {
return "";
}
// 假设输入的是“经度,纬度”的形式,分割字符串
QString[] parts = latLon.first().split(",");
double latitude = parts[0].toDouble();
double longitude = parts[1].toDouble();
// 如果验证通过,将经纬度存储到一个元组或者自定义结构体中
struct CoordData {
double latitude;
double longitude;
};
CoordData coord = {latitude, longitude};
return "经度:" + QString::number(coord.longitude) + ", 纬度:" + QString::number(coord.latitude);
}
```
3. 使用输入的数据:
```cpp
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QString input = getLatLonInput();
if (!input.isEmpty()) {
// 将input中的经纬度存入变量,这里假设我们有一个CoordList容器来保存
yourVariableName.push_back(CoordData{input.section(",", 0).toDouble(), input.section(",", 1).toDouble()});
}
// ...其他程序逻辑...
return app.exec();
}
```
阅读全文