You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

165 lines
3.9 KiB

#include "menu5.h"
#include "ui_menu5.h"
#include <QCheckBox>
#include <QFileDialog>
#include "devicelist.h"
menu5::menu5(QWidget *parent) :
QWidget(parent),
ui(new Ui::menu5)
{
ui->setupUi(this);
ui->tableWidget->setBorderVisible(true);
ui->tableWidget->setBorderRadius(8);
ui->tableWidget->verticalHeader()->hide();
ui->tableWidget->resizeColumnsToContents();
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
connect(ui->tableWidget->horizontalHeader(),&QHeaderView::sectionClicked,[=](int i){
if(i == 1){
for(int i = 0; i< ui->tableWidget->rowCount();i++){
qobject_cast<QCheckBox*>(ui->tableWidget->cellWidget(i,1))->setChecked(true);
}
}
});
hideui();
b_rmbld = false;
}
menu5::~menu5()
{
delete ui;
}
void menu5::hideui()
{
ui->pushButton->hide();
ui->pushButton_2->hide();
ui->pushButton_3->hide();
ui->tableWidget->hide();
ui->pushButton_6->hide();
ui->doubleSpinBox->hide();
}
void menu5::showui()
{
ui->pushButton->show();
ui->pushButton_2->show();
ui->pushButton_3->show();
ui->tableWidget->show();
ui->pushButton_6->show();
ui->doubleSpinBox->show();
}
void menu5::slotRefresh(double gray)
{
qDebug()<<__FILE__<<__LINE__;
if(grays.length() == 0){
grays.push_back(gray);
ui->tableWidget->insertRow(0);
ui->tableWidget->setItem(0,0,new QTableWidgetItem(QString::number( gray)));
ui->tableWidget->setCellWidget(0,1,new QCheckBox());
return;
}
for(int i = 0; i< grays.length();i++){
if (gray<grays.at(i)){
grays.insert(i,gray);
ui->tableWidget->insertRow(i);
ui->tableWidget->setItem(i,0,new QTableWidgetItem(QString::number( gray)));
ui->tableWidget->setCellWidget(i,1,new QCheckBox());
return;
}
}
grays.push_back(gray);
ui->tableWidget->insertRow(ui->tableWidget->rowCount());
ui->tableWidget->setItem(grays.length()-1,0,new QTableWidgetItem(QString::number( gray)));
ui->tableWidget->setCellWidget(grays.length() - 1,1,new QCheckBox());
return;
}
void menu5::on_pushButton_clicked()
{
emit signalsave();
}
void menu5::on_pushButton_2_clicked()
{
QVector<double> vct;
for(int i = 0;i< ui->tableWidget->rowCount();i++){
if(qobject_cast<QCheckBox*>(ui->tableWidget->cellWidget(i,1))->isChecked()){
vct.append(grays.at(i));
}
}
emit signalcalc(vct);
// emit signalcalc();
}
void menu5::on_pushButton_3_clicked()
{
// QString path = QFileDialog::getExistingDirectory(nullptr,QString::fromLocal8Bit("选择数据保存路径"),QString("./"));
// emit signalsavedata(path);
idpath* p = new idpath;
p->show();
connect(p,&idpath::signalIDpath,[=](QString path){
emit signalsavedata(path);
p->deleteLater();
});
}
void menu5::on_pushButton_4_clicked()
{
// emit signalloaddata();
// QString path = QFileDialog::getExistingDirectory(nullptr,QString::fromLocal8Bit("选择数据保存路径"),QString("./"));
//emit signalloaddata(path);
devicelist* p = new devicelist;
p->show();
connect(p,&devicelist::signalIDpath,[=](QString path){
emit signalloaddata(path);
p->deleteLater();
});
}
void menu5::on_pushButton_5_clicked()
{
emit signaloff();
}
void menu5::on_pushButton_6_clicked()
{
grays.clear();
while(ui->tableWidget->rowCount()>0){
ui->tableWidget->removeRow(0);
}
}
void menu5::on_pushButton_7_clicked()
{
b_rmbld = !b_rmbld;
emit signalrmbld(b_rmbld);
if(b_rmbld)
ui->pushButton_7->setText(u8"关闭自动去盲元");
else
ui->pushButton_7->setText(u8"开启自动去盲元");
}
void menu5::on_doubleSpinBox_valueChanged(double arg1)
{
emit signalthre(arg1);
}