添加围栏
This commit is contained in:
+251
-247
@@ -7,7 +7,7 @@ MissionUI::MissionUI(QWidget *parent) :
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowTitle(tr("Mission Table"));
|
||||
//setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint);
|
||||
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
|
||||
//load qss
|
||||
|
||||
QFile file(":/qss/propertyui.qss");
|
||||
@@ -17,14 +17,217 @@ MissionUI::MissionUI(QWidget *parent) :
|
||||
this->setStyleSheet(stylesheet);
|
||||
file.close();
|
||||
|
||||
ui->pushButton_load->setFixedSize(80,40);
|
||||
ui->pushButton_save->setFixedSize(80,40);
|
||||
ui->pushButton_upload->setFixedSize(80,40);
|
||||
ui->pushButton_download->setFixedSize(80,40);
|
||||
ui->pushButton_insert->setFixedSize(80,40);
|
||||
ui->pushButton_delete->setFixedSize(80,40);
|
||||
ui->pushButton_clean->setFixedSize(80,40);
|
||||
ui->pushButton_add->setFixedSize(80,40);
|
||||
CustomButton *btn_load = new CustomButton(this);
|
||||
CustomButton *btn_save = new CustomButton(this);
|
||||
CustomButton *btn_upload = new CustomButton(this);
|
||||
CustomButton *btn_download = new CustomButton(this);
|
||||
CustomButton *btn_insert = new CustomButton(this);
|
||||
CustomButton *btn_delete = new CustomButton(this);
|
||||
CustomButton *btn_clean = new CustomButton(this);
|
||||
CustomButton *btn_add = new CustomButton(this);
|
||||
|
||||
btn_load->setText(tr("load"));
|
||||
btn_save->setText(tr("save"));
|
||||
btn_upload->setText(tr("upload"));
|
||||
btn_download->setText(tr("download"));
|
||||
btn_insert->setText(tr("insert"));
|
||||
btn_delete->setText(tr("delete"));
|
||||
btn_clean->setText(tr("clean"));
|
||||
btn_add->setText(tr("add"));
|
||||
|
||||
btn_load->setFixedSize(80,40);
|
||||
btn_save->setFixedSize(80,40);
|
||||
btn_upload->setFixedSize(80,40);
|
||||
btn_download->setFixedSize(80,40);
|
||||
btn_insert->setFixedSize(80,40);
|
||||
btn_delete->setFixedSize(80,40);
|
||||
btn_clean->setFixedSize(80,40);
|
||||
btn_add->setFixedSize(80,40);
|
||||
|
||||
|
||||
|
||||
ui->gridLayout_btn->addWidget(btn_load, 0,0,1,1);
|
||||
ui->gridLayout_btn->addWidget(btn_save, 1,0,1,1);
|
||||
ui->gridLayout_btn->addWidget(btn_upload, 2,0,1,1);
|
||||
ui->gridLayout_btn->addWidget(btn_download,3,0,1,1);
|
||||
ui->gridLayout_btn->addWidget(btn_insert, 4,0,1,1);
|
||||
ui->gridLayout_btn->addWidget(btn_delete, 5,0,1,1);
|
||||
ui->gridLayout_btn->addWidget(btn_clean, 6,0,1,1);
|
||||
ui->gridLayout_btn->addWidget(btn_add, 7,0,1,1);
|
||||
ui->gridLayout_btn->setRowStretch(8,1);
|
||||
|
||||
|
||||
connect(btn_load,&CustomButton::clicked,[=](){
|
||||
QFileDialog *dlg = new QFileDialog();
|
||||
QString fileName = dlg->getOpenFileName(this, tr("Selete Way Point File..."),
|
||||
"./plan/",
|
||||
tr("plan file (*.plan)"));
|
||||
if(!fileName.isEmpty())
|
||||
{
|
||||
emit WPLoad(fileName);
|
||||
}
|
||||
});
|
||||
|
||||
connect(btn_save,&CustomButton::clicked,[=](){
|
||||
QFileDialog *dlg = new QFileDialog();
|
||||
QString fileName = dlg->getSaveFileName(this, tr("Selete Way Point File..."),
|
||||
"./plan/",
|
||||
tr("plan file (*.plan)"));
|
||||
if(!fileName.isEmpty())
|
||||
{
|
||||
emit WPSave(fileName);
|
||||
}
|
||||
});
|
||||
|
||||
connect(btn_upload,&CustomButton::clicked,[=](){
|
||||
emit WPUpload();
|
||||
});
|
||||
|
||||
connect(btn_download,&CustomButton::clicked,[=](){
|
||||
QTableWidget *widget;
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
widget = tablelist.value(1);
|
||||
break;
|
||||
case 1:
|
||||
widget = tablelist.value(3);
|
||||
break;
|
||||
case 2:
|
||||
widget = tablelist.value(4);
|
||||
break;
|
||||
case 3:
|
||||
widget = tablelist.value(5);
|
||||
break;
|
||||
case 4:
|
||||
widget = tablelist.value(6);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
while (widget->rowCount() > 0) {
|
||||
widget->removeRow(widget->currentRow());
|
||||
}
|
||||
emit WPDownload();
|
||||
});
|
||||
|
||||
connect(btn_insert,&CustomButton::clicked,[=](){
|
||||
emit WPInsert();
|
||||
int group = 3;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
group = 1;
|
||||
break;
|
||||
case 1:
|
||||
group = 3;
|
||||
break;
|
||||
case 2:
|
||||
group = 4;
|
||||
break;
|
||||
case 3:
|
||||
group = 5;
|
||||
break;
|
||||
case 4:
|
||||
group = 6;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints(group);
|
||||
});
|
||||
|
||||
connect(btn_delete,&CustomButton::clicked,[=](){
|
||||
|
||||
QTableWidget *widget;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
widget = tablelist.value(1);
|
||||
break;
|
||||
case 1:
|
||||
widget = tablelist.value(3);
|
||||
break;
|
||||
case 2:
|
||||
widget = tablelist.value(4);
|
||||
break;
|
||||
case 3:
|
||||
widget = tablelist.value(5);
|
||||
break;
|
||||
case 4:
|
||||
widget = tablelist.value(6);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
int idx = widget->currentRow();
|
||||
widget->removeRow(idx);
|
||||
emit WPDelete();
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints(tablelist.key(widget));
|
||||
});
|
||||
|
||||
connect(btn_clean,&CustomButton::clicked,[=](){
|
||||
QTableWidget *widget;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
widget = tablelist.value(1);
|
||||
break;
|
||||
case 1:
|
||||
widget = tablelist.value(3);
|
||||
break;
|
||||
case 2:
|
||||
widget = tablelist.value(4);
|
||||
break;
|
||||
case 3:
|
||||
widget = tablelist.value(5);
|
||||
break;
|
||||
case 4:
|
||||
widget = tablelist.value(6);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
while (widget->rowCount() > 0) {
|
||||
widget->removeRow(widget->currentRow());
|
||||
}
|
||||
emit WPDeleteAll();
|
||||
});
|
||||
|
||||
connect(btn_add,&CustomButton::clicked,[=](){
|
||||
emit WPAdd();
|
||||
int group = 3;
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
group = 1;
|
||||
break;
|
||||
case 1:
|
||||
group = 3;
|
||||
break;
|
||||
case 2:
|
||||
group = 4;
|
||||
break;
|
||||
case 3:
|
||||
group = 5;
|
||||
break;
|
||||
case 4:
|
||||
group = 6;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
emit getAllPoints(group);
|
||||
});
|
||||
|
||||
|
||||
tablelist.insert(1,ui->tableWidget_1);
|
||||
@@ -38,52 +241,53 @@ MissionUI::MissionUI(QWidget *parent) :
|
||||
foreach (QTableWidget *table, tablelist) {
|
||||
if(table)
|
||||
{
|
||||
table->setColumnCount(9); //设置列数为7
|
||||
table->setGeometry(QRect(10,455,740,95)); //设置tableWidget的大小
|
||||
table->setSelectionBehavior(QAbstractItemView::SelectRows);//设置选中模式为选中行
|
||||
table->setSelectionMode ( QAbstractItemView::SingleSelection); //设置选择模式,选择单行
|
||||
table->setAlternatingRowColors(true);
|
||||
table->setEditTriggers(QAbstractItemView::NoEditTriggers);//不能编辑
|
||||
table->setMouseTracking(true);
|
||||
table->setFocus();
|
||||
table->setFocusPolicy(Qt::StrongFocus);
|
||||
table->setStyleSheet("QTableWidget::item:selected { background-color: rgb(85, 255, 127); color: rgb(255, 255, 255); } ");
|
||||
if(tablelist.key(table) == 1)//围栏
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
table->setColumnCount(9); //设置列数为7
|
||||
table->setGeometry(QRect(10,455,740,95)); //设置tableWidget的大小
|
||||
table->setSelectionBehavior(QAbstractItemView::SelectRows);//设置选中模式为选中行
|
||||
table->setSelectionMode ( QAbstractItemView::SingleSelection); //设置选择模式,选择单行
|
||||
table->setAlternatingRowColors(true);
|
||||
table->setEditTriggers(QAbstractItemView::NoEditTriggers);//不能编辑
|
||||
table->setMouseTracking(true);
|
||||
table->setFocus();
|
||||
table->setFocusPolicy(Qt::StrongFocus);
|
||||
table->setStyleSheet("QTableWidget::item:selected { background-color: rgb(85, 255, 127); color: rgb(255, 255, 255); } ");
|
||||
|
||||
table->setColumnWidth(0,45); //设置第一列的列宽(num)
|
||||
table->setColumnWidth(1,80); //设置第二列的列宽(cmd)
|
||||
table->setColumnWidth(2,80); //设置第三列的列宽(par1)
|
||||
table->setColumnWidth(3,80); //设置第四列的列宽(par2)
|
||||
table->setColumnWidth(4,80); //设置第五列的列宽(par3)
|
||||
table->setColumnWidth(5,80); //设置第六列的列宽(par4)
|
||||
table->setColumnWidth(6,150); //设置第七列的列宽(lat)
|
||||
table->setColumnWidth(7,150); //设置第八列的列宽(lng)
|
||||
table->setColumnWidth(8,80); //设置第九列的列宽(alt)
|
||||
table->setColumnWidth(0,45); //设置第一列的列宽(num)
|
||||
table->setColumnWidth(1,80); //设置第二列的列宽(cmd)
|
||||
table->setColumnWidth(2,80); //设置第三列的列宽(par1)
|
||||
table->setColumnWidth(3,80); //设置第四列的列宽(par2)
|
||||
table->setColumnWidth(4,80); //设置第五列的列宽(par3)
|
||||
table->setColumnWidth(5,80); //设置第六列的列宽(par4)
|
||||
table->setColumnWidth(6,150); //设置第七列的列宽(lat)
|
||||
table->setColumnWidth(7,150); //设置第八列的列宽(lng)
|
||||
table->setColumnWidth(8,80); //设置第九列的列宽(alt)
|
||||
|
||||
|
||||
table->setHorizontalHeaderLabels(QStringList() <<tr("number")<<tr("command")<<tr("par1")<<tr("par2")<<tr("par3")<<tr("par4")<<tr("lat")<<tr("lng")<<tr("alt"));
|
||||
QHeaderView* V_headerView = table->verticalHeader();
|
||||
V_headerView->setHidden(true); //行名隐藏
|
||||
table->setHorizontalHeaderLabels(QStringList() <<tr("number")<<tr("command")<<tr("par1")<<tr("par2")<<tr("par3")<<tr("par4")<<tr("lat")<<tr("lng")<<tr("alt"));
|
||||
QHeaderView* V_headerView = table->verticalHeader();
|
||||
V_headerView->setHidden(true); //行名隐藏
|
||||
|
||||
QHeaderView* H_headerView = table->horizontalHeader();
|
||||
H_headerView->setDefaultAlignment(Qt::AlignLeft); //表头信息显示居中靠左
|
||||
H_headerView->setHighlightSections(false); //不高亮选中内容的所在列标题
|
||||
H_headerView->setStretchLastSection(true);
|
||||
QHeaderView* H_headerView = table->horizontalHeader();
|
||||
H_headerView->setDefaultAlignment(Qt::AlignLeft); //表头信息显示居中靠左
|
||||
H_headerView->setHighlightSections(false); //不高亮选中内容的所在列标题
|
||||
H_headerView->setStretchLastSection(true);
|
||||
|
||||
|
||||
connect(table,&QTableWidget::itemSelectionChanged,
|
||||
this,&MissionUI::itemSelectionChanged);
|
||||
|
||||
connect(table,&QTableWidget::itemDoubleClicked,
|
||||
this,&MissionUI::itemDoubleClicked);
|
||||
|
||||
connect(table,&QTableWidget::itemClicked,
|
||||
this,&MissionUI::itemClicked);
|
||||
/*
|
||||
connect(table,&QTableWidget::itemEntered,
|
||||
this,&MissionUI::itemClicked);
|
||||
*/
|
||||
connect(table,&QTableWidget::itemSelectionChanged,
|
||||
this,&MissionUI::itemSelectionChanged);
|
||||
|
||||
connect(table,&QTableWidget::itemDoubleClicked,
|
||||
this,&MissionUI::itemDoubleClicked);
|
||||
|
||||
connect(table,&QTableWidget::itemClicked,
|
||||
this,&MissionUI::itemClicked);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -338,206 +542,6 @@ void MissionUI::on_tabWidget_currentChanged(int index)
|
||||
//emit waypointSelect(group,idx);
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_load_clicked()
|
||||
{
|
||||
QFileDialog *dlg = new QFileDialog();
|
||||
QString fileName = dlg->getOpenFileName(this, tr("Selete Way Point File..."),
|
||||
"./plan/",
|
||||
tr("plan file (*.plan)"));
|
||||
if(!fileName.isEmpty())
|
||||
{
|
||||
emit WPLoad(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_save_clicked()
|
||||
{
|
||||
QFileDialog *dlg = new QFileDialog();
|
||||
|
||||
QString fileName = dlg->getSaveFileName(this, tr("Selete Way Point File..."),
|
||||
"./plan/",
|
||||
tr("plan file (*.plan)"));
|
||||
if(!fileName.isEmpty())
|
||||
{
|
||||
emit WPSave(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_upload_clicked()
|
||||
{
|
||||
emit WPUpload();
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_download_clicked()
|
||||
{
|
||||
QTableWidget *widget;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
widget = tablelist.value(1);
|
||||
break;
|
||||
case 1:
|
||||
widget = tablelist.value(3);
|
||||
break;
|
||||
case 2:
|
||||
widget = tablelist.value(4);
|
||||
break;
|
||||
case 3:
|
||||
widget = tablelist.value(5);
|
||||
break;
|
||||
case 4:
|
||||
widget = tablelist.value(6);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
while (widget->rowCount() > 0) {
|
||||
widget->removeRow(widget->currentRow());
|
||||
}
|
||||
|
||||
|
||||
emit WPDownload();
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_insert_clicked()
|
||||
{
|
||||
emit WPInsert();
|
||||
|
||||
int group = 3;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
group = 1;
|
||||
break;
|
||||
case 1:
|
||||
group = 3;
|
||||
break;
|
||||
case 2:
|
||||
group = 4;
|
||||
break;
|
||||
case 3:
|
||||
group = 5;
|
||||
break;
|
||||
case 4:
|
||||
group = 6;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints(group);
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_delete_clicked()
|
||||
{
|
||||
|
||||
QTableWidget *widget;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
widget = tablelist.value(1);
|
||||
break;
|
||||
case 1:
|
||||
widget = tablelist.value(3);
|
||||
break;
|
||||
case 2:
|
||||
widget = tablelist.value(4);
|
||||
break;
|
||||
case 3:
|
||||
widget = tablelist.value(5);
|
||||
break;
|
||||
case 4:
|
||||
widget = tablelist.value(6);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
int idx = widget->currentRow();
|
||||
widget->removeRow(idx);
|
||||
|
||||
emit WPDelete();
|
||||
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints(tablelist.key(widget));
|
||||
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_add_clicked()
|
||||
{
|
||||
emit WPAdd();
|
||||
|
||||
int group = 3;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
group = 1;
|
||||
break;
|
||||
case 1:
|
||||
group = 3;
|
||||
break;
|
||||
case 2:
|
||||
group = 4;
|
||||
break;
|
||||
case 3:
|
||||
group = 5;
|
||||
break;
|
||||
case 4:
|
||||
group = 6;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//刷新一次所有航点
|
||||
emit getAllPoints(group);
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_clean_clicked()
|
||||
{
|
||||
QTableWidget *widget;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
widget = tablelist.value(1);
|
||||
break;
|
||||
case 1:
|
||||
widget = tablelist.value(3);
|
||||
break;
|
||||
case 2:
|
||||
widget = tablelist.value(4);
|
||||
break;
|
||||
case 3:
|
||||
widget = tablelist.value(5);
|
||||
break;
|
||||
case 4:
|
||||
widget = tablelist.value(6);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
while (widget->rowCount() > 0) {
|
||||
widget->removeRow(widget->currentRow());
|
||||
}
|
||||
|
||||
emit WPDeleteAll();
|
||||
|
||||
}
|
||||
|
||||
|
||||
void MissionUI::itemSelectionChanged()
|
||||
{
|
||||
QTableWidget *widget = qobject_cast<QTableWidget *>(sender());
|
||||
|
||||
Reference in New Issue
Block a user