#include "mywidget.h"
#include "ui_mywidget.h"
#include<QGridLayout>
#include<QFileDialog>
#include<QPushButton>
#include<QLabel>
myWidget::myWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::myWidget)
{
setFixedSize(600,400);
QPushButton *openBtn=new QPushButton("...",this);
openBtn->setGeometry(510,280,80,23);
QPushButton *saveBtn=new QPushButton("...",this);
saveBtn->setGeometry(510,310,80,23);
QPushButton *runBtn=new QPushButton("开始生成shp",this);
runBtn->setGeometry(10,370,580,23);
//打开tif文件
openLineEdit=new QLineEdit(this);
openLineEdit->setGeometry(80,280,420,23);
openLineEdit->setReadOnly(false);
connect(openBtn,&QPushButton::clicked,this,[=](){
QString str_1 = QFileDialog::getOpenFileName(this,"选择文件","/", "Files(*.tif)");
openLineEdit->setText(str_1);
});
//shp文件保存目录
saveLineEdit=new QLineEdit(this);
saveLineEdit->setGeometry(80,310,420,23);
saveLineEdit->setReadOnly(false);
connect(saveBtn,&QPushButton::clicked,this,[=](){
QString str_2 = QFileDialog::getSaveFileName(this,"选择文件","/contour","(*.shp)");
saveLineEdit->setText(str_2);
});
//等高线间距输入文本框
inputLineEdit=new QLineEdit(this);
inputLineEdit->setGeometry(120,340,280,23);
//显示文字
QLabel*label_0=new QLabel(this);
label_0->move(15,10);
label_0->setText(tr("操作步骤\n1.先点击高程数据后的选择文件按钮,选中一个用于生成等高线的地形数据tif"
"\n2.再点击储存路径后的选择按钮,选择等高线的存储地址 "
"\n3.然后设置等高线的间距,点击【开始生成shp】按钮完成等高线的生成shp"));
QLabel*label_01=new QLabel(this);
label_01->move(15,120);
label_01->setText(tr("功能描述\n根据地形生成等高线,支持shpfile和kml两种格式,如果没有地形数据,"
"\n可以使用地形下载功能下载所需区域的地形数据dem"));
QLabel*label_02=new QLabel(this);
label_02->move(15,195);
label_02->setText(tr("备注\n详细说明和问题,请联系长光卫星数据五室,网址http://www.charmingglobe.com"));
QLabel*label_1=new QLabel(this);
label_1->move(23,286);
label_1->setText(tr("高程数据"));
QLabel*label_2=new QLabel(this);
label_2->move(23,316);
label_2->setText(tr("储存路径"));
QLabel*label_3=new QLabel(this);
label_3->move(23,345);
label_3->setText(tr("等高线间距:(m)"));
QLabel*label_4=new QLabel(this);
label_4->move(520,345);
label_4->setText(tr("基准高度0m"));
QLabel*label_5=new QLabel(this);
label_5->move(420,345);
label_5->setText(tr("等高线平滑:"));
//check box
QCheckBox *mCheckBox = new QCheckBox(this);
mCheckBox->move(490,345);
}
myWidget::~myWidget()
{
delete ui;
}
效果: