From 533ec1da66e908048df277332f75f545f332e49b Mon Sep 17 00:00:00 2001 From: zara Date: Fri, 12 Jul 2024 11:40:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E6=A0=A1=E6=AD=A3=E6=95=B0=E6=8D=AE=E7=9A=84=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?,=20=E6=9B=B4=E6=96=B0=E4=BA=86=E5=88=87=E6=8D=A2=E7=A7=AF?= =?UTF-8?q?=E5=88=86=E6=97=B6=E9=97=B4=E6=97=B6=E5=8A=A0=E8=BD=BD=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 4 +- CMakeLists.txt.user | 2 +- devicelist.cpp | 44 ++++++++++++++ devicelist.h | 28 +++++++++ devicelist.ui | 67 +++++++++++++++++++++ idpath.cpp | 2 +- idpath.ui | 34 +++++------ installsa.nsi.in | 24 ++++---- mainwindow.cpp | 74 ++++++++++++++++++----- mainwindow.h | 6 ++ menu5.cpp | 38 ++++++++++-- menu5.h | 4 ++ menu5.ui | 33 +++++++---- multipoint.cpp | 140 ++++++++++++++++++++++---------------------- multipoint.h | 11 +++- passwd.cpp | 44 ++++++++++++++ passwd.h | 29 +++++++++ passwd.ui | 49 ++++++++++++++++ 18 files changed, 495 insertions(+), 138 deletions(-) create mode 100644 devicelist.cpp create mode 100644 devicelist.h create mode 100644 devicelist.ui create mode 100644 passwd.cpp create mode 100644 passwd.h create mode 100644 passwd.ui diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c97247..034efbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.5) -set(PROJECT_VERSION 1.4.2.6) +set(PROJECT_VERSION 1.4.2.8) add_definitions(-DProjectVersion=\"${PROJECT_VERSION}\") project(zxrcClient VERSION ${PROJECT_VERSION} LANGUAGES CXX) @@ -104,6 +104,8 @@ set(PROJECT_SOURCES player.ui menu5_1.h menu5_1.cpp menu5_1.ui menu6.cpp menu6.h menu6.ui + passwd.cpp passwd.h passwd.ui + devicelist.cpp devicelist.h devicelist.ui ) ### diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user index 108a35b..79d2af2 100644 --- a/CMakeLists.txt.user +++ b/CMakeLists.txt.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/devicelist.cpp b/devicelist.cpp new file mode 100644 index 0000000..d30267e --- /dev/null +++ b/devicelist.cpp @@ -0,0 +1,44 @@ +#include "devicelist.h" +#include "ui_devicelist.h" +#include +#include +#include +#include + +devicelist::devicelist(QWidget *parent) : + QDialog(parent), + ui(new Ui::devicelist) +{ + ui->setupUi(this); + QDir d("datas"); + QStringList devices = d.entryList(QStringList(),QDir::AllDirs,QDir::Name); + int i = 0; + ui->tableWidget->setColumnCount(1); + for(QString device:devices){ + if(device == "." || device == ".."){ + continue; + } + ui->tableWidget->setRowCount(i+1); + ui->tableWidget->setItem(i,0,new QTableWidgetItem(device)); + i++; + qDebug()<<"device = "<tableWidget->horizontalHeader()->hide(); + ui->tableWidget->verticalHeader()->hide(); + + ui->tableWidget->resizeColumnsToContents(); + ui->tableWidget->resizeRowsToContents(); + ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); +// ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);} +} + +devicelist::~devicelist() +{ + delete ui; +} + +void devicelist::on_buttonBox_accepted() +{ + emit signalIDpath(ui->tableWidget->currentItem()->text()); +} + diff --git a/devicelist.h b/devicelist.h new file mode 100644 index 0000000..2faa909 --- /dev/null +++ b/devicelist.h @@ -0,0 +1,28 @@ +#ifndef DEVICELIST_H +#define DEVICELIST_H + +#include + +namespace Ui { +class devicelist; +} + +class devicelist : public QDialog +{ + Q_OBJECT + +public: + explicit devicelist(QWidget *parent = nullptr); + ~devicelist(); + +signals: + void signalIDpath(QString); + +private slots: + void on_buttonBox_accepted(); + +private: + Ui::devicelist *ui; +}; + +#endif // DEVICELIST_H diff --git a/devicelist.ui b/devicelist.ui new file mode 100644 index 0000000..a73f377 --- /dev/null +++ b/devicelist.ui @@ -0,0 +1,67 @@ + + + devicelist + + + + 0 + 0 + 240 + 320 + + + + Dialog + + + + + + + + + Qt::Vertical + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + devicelist + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + devicelist + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/idpath.cpp b/idpath.cpp index e670eae..df7f38e 100644 --- a/idpath.cpp +++ b/idpath.cpp @@ -15,6 +15,6 @@ idpath::~idpath() void idpath::on_buttonBox_accepted() { - emit signalIDpath(ui->lineEdit->text()+"-"+ui->doubleSpinBox->text()); + emit signalIDpath(ui->lineEdit->text());//+"-"+ui->doubleSpinBox->text()); } diff --git a/idpath.ui b/idpath.ui index 0441cd0..b7e61eb 100644 --- a/idpath.ui +++ b/idpath.ui @@ -7,7 +7,7 @@ 0 0 318 - 78 + 81 @@ -15,16 +15,22 @@ - - - 机芯编号 - - - - - + + + + Qt::Vertical + + + + 20 + 40 + + + + + Qt::Vertical @@ -34,16 +40,6 @@ - - - - 积分时间 - - - - - - diff --git a/installsa.nsi.in b/installsa.nsi.in index 640e522..e7e8750 100644 --- a/installsa.nsi.in +++ b/installsa.nsi.in @@ -1,7 +1,7 @@ ; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard helper defines -!define PRODUCT_NAME "中芯热成上位机SA" +!define PRODUCT_NAME "оȳλSA" !define PRODUCT_VERSION "@CMAKE_PROJECT_VERSION_MAJOR@.@CMAKE_PROJECT_VERSION_MINOR@.@CMAKE_PROJECT_VERSION_PATCH@.@CMAKE_PROJECT_VERSION_TWEAK@" !define PRODUCT_PUBLISHER "zxrc" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\zxrcClientSA.exe" @@ -47,7 +47,7 @@ SetCompressor lzma Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${PRODUCT_NAME} ${PRODUCT_VERSION}Setup.exe" -InstallDir "$PROGRAMFILES\中芯热成上位机" +InstallDir "$PROGRAMFILES\оȳλ" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show @@ -60,9 +60,9 @@ Section "MainSection" SEC01 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "zxrcClientSA.exe" - CreateDirectory "$SMPROGRAMS\中芯热成上位机" - CreateShortCut "$SMPROGRAMS\中芯热成上位机\中芯热成上位机.lnk" "$INSTDIR\zxrcClientSA.exe" - CreateShortCut "$DESKTOP\中芯热成上位机.lnk" "$INSTDIR\zxrcClientSA.exe" + CreateDirectory "$SMPROGRAMS\оȳλ" + CreateShortCut "$SMPROGRAMS\оȳλ\оȳλ.lnk" "$INSTDIR\zxrcClientSA.exe" + CreateShortCut "$DESKTOP\оȳλ.lnk" "$INSTDIR\zxrcClientSA.exe" SetOverwrite try File "D3Dcompiler_47.dll" @@ -125,7 +125,7 @@ Section "MainSection" SEC01 SectionEnd Section -AdditionalIcons - CreateShortCut "$SMPROGRAMS\中芯热成上位机\Uninstall.lnk" "$INSTDIR\uninst.exe" + CreateShortCut "$SMPROGRAMS\оȳλ\Uninstall.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post @@ -141,12 +141,12 @@ SectionEnd Function un.onUninstSuccess HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从你的计算机移除。" + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) ѳɹشļƳ" FunctionEnd Function un.onInit !insertmacro MUI_UNGETLANGUAGE - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除 $(^Name) ,其及所有的组件?" IDYES +2 + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "ȷʵҪȫƳ $(^Name) 估е" IDYES +2 Abort FunctionEnd @@ -204,11 +204,11 @@ Section Uninstall Delete "$INSTDIR\D3Dcompiler_47.dll" Delete "$INSTDIR\zxrcClientSA.exe" - Delete "$SMPROGRAMS\中芯热成上位机\Uninstall.lnk" - Delete "$DESKTOP\中芯热成上位机.lnk" - Delete "$SMPROGRAMS\中芯热成上位机\中芯热成上位机.lnk" + Delete "$SMPROGRAMS\оȳλ\Uninstall.lnk" + Delete "$DESKTOP\оȳλ.lnk" + Delete "$SMPROGRAMS\оȳλ\оȳλ.lnk" - RMDir "$SMPROGRAMS\中芯热成上位机" + RMDir "$SMPROGRAMS\оȳλ" RMDir "$INSTDIR\translations" RMDir "$INSTDIR\styles" RMDir "$INSTDIR\platforms" diff --git a/mainwindow.cpp b/mainwindow.cpp index b9e6843..efc2c26 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -11,8 +11,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { + qDebug()<setupUi(this); + ui->label->setText(QDir::homePath()); initIns(); ddd; @@ -50,7 +52,10 @@ void MainWindow::initUI() fps = 0; fpscount = 0; - path = QApplication::applicationDirPath()+"/"; + path = QDir::homePath()+"/zxrcfiles/"; + + QDir d; + d.mkdir(path); QString title = QString::fromLocal8Bit("中芯热成上位机"); #if CLIENT==0 @@ -87,15 +92,16 @@ void MainWindow::initUI() ddd; ui->toolbox->addItem(m1,u8"相机设置"); +#if CLIENT==2 + ui->toolbox->addItem(m5,u8"图像校正"); +#endif ui->toolbox->addItem(m2,u8"算法设置"); ui->toolbox->addItem(m3,u8"显示设置"); ui->toolbox->addItem(m4,u8"保存设置"); ddd; -#if CLIENT==2 - ui->toolbox->addItem(m5,u8"多点校正"); -#endif + #if CLIENT==0 ui->toolbox->addItem(m5_1,u8"多点校正"); #endif @@ -105,7 +111,7 @@ void MainWindow::initUI() #if CLIENT==2 menu6* m6 = new menu6; - ui->toolbox->addItem(m6, u8"测温设置"); +// ui->toolbox->addItem(m6, u8"测温设置"); connect(m6,&menu6::signalSetTemp,[=](double temp){ b_temp_save = true; d_temp = temp; @@ -165,6 +171,15 @@ void MainWindow::initConnect() connect(m1,SIGNAL(signalsetGPOL(int)),ucontrol,SLOT(setGPOL(int))); connect(m1,SIGNAL(signalsetIT(double)),ucontrol,SLOT(setIT(double))); + connect(m1,&menu1::signalsetIT,[this](double it){ + this->d_it = it; + + if(m_mp!=nullptr){ + ddd<deviceid<loaddata(this->deviceid,it); + m_mp->setit(it); + } + }); connect(m1,SIGNAL(signalopenTEC(bool)),ucontrol,SLOT(tec(bool))); connect(m1,SIGNAL(signalset14bit(bool)),ucontrol,SLOT(bit14(bool))); connect(m1,&menu1::signalset14bit,[=](bool b){ @@ -276,11 +291,20 @@ void MainWindow::initConnect() connect(m5,SIGNAL(signalsave()),m_mp,SLOT(save())); connect(m5,SIGNAL(signalcalc(QVector)),m_mp,SLOT(calcData(QVector))); - connect(m5,SIGNAL(signalsavedata(QString)),m_mp,SLOT(savedata(QString))); +// connect(m5,SIGNAL(signalsavedata(QString)),m_mp,SLOT(savedata(QString))); + connect(m5,&menu5::signalsavedata,[=](QString path){ + m_mp->savedata(path,d_it ); + }); connect(m_mp,SIGNAL(signalNewFrame(double)),m5,SLOT(slotRefresh(double))); - connect(m5,SIGNAL(signalloaddata(QString)),m_mp,SLOT(loaddata(QString))); +// connect(m5,SIGNAL(signalloaddata(QString)),m_mp,SLOT(loaddata(QString))); + connect(m5,&menu5::signalloaddata,[this](QString path){ +// m_mp->loaddata(path,this->d_it); + this->deviceid = path; + m_mp->setdevice(path); + }); connect(m5,SIGNAL(signaloff()),m_mp,SLOT(off())); + connect(m_mp,SIGNAL(signalLog(QString)),this,SLOT(slotlogtext(QString))); #endif #if CLIENT==0 @@ -456,12 +480,15 @@ void MainWindow::on_pushButton_clicked()// 开启传输 if(ui->pushButton->isChecked()){ QTimer *t = new QTimer; connect(t,&QTimer::timeout,[=](){ - on_pushButton_2_clicked(); - usb->SetImageInfo(type,rows,cols); - usb->setStatu(true); - usb->start(); - ui->pushButton->setText(u8"停止传输"); - t->stop(); + on_pushButton_2_clicked(); + usb->SetImageInfo(type,rows,cols); + usb->setStatu(true); + usb->start(); + ui->pushButton->setText(u8"停止传输"); + t->stop(); + ucontrol->setIT(5.00); + on_pushButton_2_clicked(); + d_it = 5.00; }); t->start(2000); ui->label->setText(QString::fromLocal8Bit("开启传输中,请等待")); @@ -847,11 +874,21 @@ void MainWindow::keyPressEvent(QKeyEvent *ev) } if((ev->modifiers() == Qt::ControlModifier) && (ev->key()== Qt::Key_A)){ - m1->showui(); + passwd* pswd = new passwd(); + pswd->show(); + connect(pswd,&QDialog::accepted,[=](){ +// m1->showui(); + if(m5!=nullptr) + m5->showui(); + + }); } if((ev->modifiers() == Qt::ControlModifier) && (ev->key()== Qt::Key_Q)){ - m1->hideui(); +// m1->hideui(); + if(m5!=nullptr) + m5->hideui(); } + } void MainWindow::initIns() @@ -888,6 +925,13 @@ void MainWindow::initIns() b_temp = false; b_temp_save = false; + QDir d; + + if(!d.exists("datas")) + if(! d.mkdir("datas")){ + slotlogtext(u8"无法新建数据文件夹, 请重新安装软件, 注意安装路径的权限问题"); + } + d.mkdir("files"); } diff --git a/mainwindow.h b/mainwindow.h index e27f1cf..90b1ec2 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -11,6 +11,8 @@ #include "menu5.h" #include "menu5_1.h" #include "menu6.h" +#include "passwd.h" +#include "devicelist.h" #include "usbcontrol.h" #include "usbthread.h" @@ -27,6 +29,7 @@ #include "qfluentwidgets" #include +#include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } @@ -156,5 +159,8 @@ private: bool b_temp_save; double d_temp; QMap m_temp; + + double d_it;// 积分时间 + QString deviceid; }; #endif // MAINWINDOW_H diff --git a/menu5.cpp b/menu5.cpp index 772b132..9b4982b 100644 --- a/menu5.cpp +++ b/menu5.cpp @@ -4,7 +4,7 @@ #include #include - +#include "devicelist.h" menu5::menu5(QWidget *parent) : QWidget(parent), ui(new Ui::menu5) @@ -19,9 +19,12 @@ menu5::menu5(QWidget *parent) : connect(ui->tableWidget->horizontalHeader(),&QHeaderView::sectionClicked,[=](int i){ if(i == 1){ - + for(int i = 0; i< ui->tableWidget->rowCount();i++){ + qobject_cast(ui->tableWidget->cellWidget(i,1))->setChecked(true); + } } }); + hideui(); } menu5::~menu5() @@ -29,6 +32,24 @@ 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(); +} + +void menu5::showui() +{ + ui->pushButton->show(); + ui->pushButton_2->show(); + ui->pushButton_3->show(); + ui->tableWidget->show(); + ui->pushButton_6->show(); +} + void menu5::slotRefresh(double gray) { qDebug()<<__FILE__<<__LINE__; @@ -99,9 +120,9 @@ void menu5::on_pushButton_4_clicked() // emit signalloaddata(); // QString path = QFileDialog::getExistingDirectory(nullptr,QString::fromLocal8Bit("选择数据保存路径"),QString("./")); //emit signalloaddata(path); - idpath* p = new idpath; + devicelist* p = new devicelist; p->show(); - connect(p,&idpath::signalIDpath,[=](QString path){ + connect(p,&devicelist::signalIDpath,[=](QString path){ emit signalloaddata(path); p->deleteLater(); }); @@ -113,3 +134,12 @@ 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); + } +} + diff --git a/menu5.h b/menu5.h index c3ed229..a4e1be9 100644 --- a/menu5.h +++ b/menu5.h @@ -16,6 +16,8 @@ public: explicit menu5(QWidget *parent = nullptr); ~menu5(); + void hideui(); + void showui(); public slots: void slotRefresh(double); @@ -29,6 +31,8 @@ private slots: void on_pushButton_5_clicked(); + void on_pushButton_6_clicked(); + signals: void signalsave(); void signalcalc(QVector ); diff --git a/menu5.ui b/menu5.ui index b26f858..6b90aab 100644 --- a/menu5.ui +++ b/menu5.ui @@ -14,31 +14,31 @@ Form - - + + - 开始计算 + 关闭校正 - - + + - 加载数据 + 存32帧亮度 - - + + - 存32帧亮度 + 加载数据 - + - 保存数据 + 开始计算 @@ -63,9 +63,16 @@ - + - 关闭校正 + 保存数据 + + + + + + + 清空列表 diff --git a/multipoint.cpp b/multipoint.cpp index 677a48f..37fe1dc 100644 --- a/multipoint.cpp +++ b/multipoint.cpp @@ -2,6 +2,7 @@ #include "QDebug" #include #include +#include MultiPoint::MultiPoint(QObject *parent) : QObject{parent} @@ -12,6 +13,8 @@ MultiPoint::MultiPoint(QObject *parent) ready = false; b_save = false; n_save = 0; + stagecount =0; + ittime = 5; } void MultiPoint::saveData(cv::Mat img) @@ -30,43 +33,37 @@ void MultiPoint::calcData(QVector vct) qDebug()<<__FILE__<<__LINE__; ready = false; - // stagecount = datas.size(); stagecount = vct.length(); if(stagecount<2) return; - qDebug()<<"statge count = "<< stagecount; - // double v0 = datas[vct.at(0)].key(); + + double v0 = vct.first(); - // double vn =( datas.begin()+stagecount-1).key(); + double vn = vct.last(); stages = (double*)malloc(sizeof(double)*rows*cols*(stagecount+1)); kstages = (double*)malloc(sizeof(double)*rows*cols*(stagecount+1)); - bstages = (double*)malloc(sizeof(double)*rows*cols*(stagecount+1)); + bstages = (double*)malloc(sizeof(double)*(stagecount+1)); + - // QMap::Iterator start = datas.begin(); - // QMap::Iterator end ; memset(kstages,0,sizeof(double)*rows*cols); - memset(bstages,0,sizeof(double)*rows*cols); + memset(bstages,0,sizeof(double)*1); int k = 1; - // for(;k vct) double* ss = stages+(k-1)*rows*cols; double* ks = kstages+k*rows*cols; *(bstages+k) = vs; - double* bs = bstages+k*rows*cols; + /// y = kx+b @@ -93,23 +90,20 @@ void MultiPoint::calcData(QVector vct) for(int i = 0;i(i,j)); - *(ks+i*ms.cols+j) = int((ve-vs)/(me.at(i,j) - ms.at(i,j))); - // *(bs+i*ms.cols+j) = vs ; - //- k*ms.at(i,j); + *(ss+i*ms.cols+j) = ms.at(i,j); + *(ks+i*ms.cols+j) =(ve-vs)/(me.at(i,j) - ms.at(i,j)); } } } - qDebug()<<__FILE__<<__LINE__; double* ss = stages+(k-1)*rows*cols; double* ks = kstages+k*rows*cols; double* bs = bstages+k; *(bs) = 65535; -// *(bs) = vct.last(); + // *(bs) = vct.last(); // cv::Mat ms = end.value(); qDebug()<<__FILE__<<__LINE__; @@ -120,9 +114,7 @@ void MultiPoint::calcData(QVector vct) for(int i = 0;i(i,j)); - + *(ss+i*cols+j) = ms.at(i,j); *(ks+i*cols+j) = 0; } @@ -155,7 +147,7 @@ void MultiPoint::runData(cv::Mat img) dst.at(i,j) = bstages[1]; else dst.at(i,j) = kstages[k*img.rows*img.cols+i*img.cols+j] - *(img.at(i,j)-stages[(k-1)*img.rows*img.cols+i*img.cols+j])+ bstages[k]; + *(img.at(i,j)-stages[(k-1)*img.rows*img.cols+i*img.cols+j])+ bstages[k]; } } @@ -171,7 +163,7 @@ void MultiPoint::meanmat(cv::Mat img) { -// if(n_save == 32){ + // if(n_save == 32){ if(n_save == 32){ img.convertTo(msave,CV_32FC1,1.0/32.0); } @@ -192,62 +184,60 @@ void MultiPoint::meanmat(cv::Mat img) void MultiPoint::save() { -// n_save = 32; + // n_save = 32; n_save = 32; b_save = true; } -void MultiPoint::savedata(QString path) +void MultiPoint::savedata(QString path, double ittime) { - - // int k =0; - // for(QMap::Iterator iter = datas.begin();iter!= datas.end();iter++){ - // cv::imwrite(QString::number(k).toStdString()+ ".tiff",iter.value()); - // k+=1; - // } QDir d; - d.mkdir(path); + d.mkdir("datas/"+path); - QFile fs(path+ "/s.bin"); - fs.open(QIODevice::ReadWrite); - fs.write((char*)stages,(stagecount+1)*cols*rows*8); - fs.close(); + QFile afs("datas/"+path+"/"+QString::number(ittime,'f',2)+".tgz"); + afs.open(QIODevice::ReadWrite); + afs.write((char*)stages,(stagecount+1)*cols*rows*8); + afs.write((char*)kstages,(stagecount+1)*cols*rows*8); + afs.write((char*)bstages,(stagecount+1)*8); + afs.close(); - QFile fk(path+ "/k.bin"); - fk.open(QIODevice::ReadWrite); - fk.write((char*)kstages,(stagecount+1)*cols*rows*8); - fk.close(); - - QFile fb(path+"/b.bin"); - fb.open(QIODevice::ReadWrite); - fb.write((char*)bstages,(stagecount+1)*cols*rows*8); - fb.close(); } -void MultiPoint::loaddata(QString path ) +void MultiPoint::loaddata() { - QFile fk(path+"/k.bin"); - fk.open(QIODevice::ReadOnly); - QByteArray data = fk.readAll(); - kstages = (double*)malloc(data.length()); - memcpy(kstages,data.data(),data.size()); - - QFile fb(path+"/b.bin"); - fb.open(QIODevice::ReadOnly); - data = fb.readAll(); - bstages = (double*)malloc(data.length()); - memcpy(bstages,data.data(),data.length()); - - - QFile fs(path+"/s.bin"); - fs.open(QIODevice::ReadOnly); - data = fs.readAll(); - stages = (double*)malloc(data.length()); - memcpy(stages,data.data(),data.length()); - - stagecount = data.length()/8/rows/cols - 1; + + QDir d; + qDebug()<<__FILE__<<__LINE__< +passwd::passwd(QWidget *parent) : + QDialog(parent), + ui(new Ui::passwd) +{ + ui->setupUi(this); +} + +passwd::~passwd() +{ + delete ui; +} + +void passwd::on_buttonBox_accepted() +{ + if(ui->lineEdit->text() != "zxrc"){ + qDebug()<<__FILE__<<__LINE__; + return; + } + else{ + this->accept(); + } +} + + +void passwd::on_pushButton_clicked() +{ + if(ui->lineEdit->text() != "zxrc"){ + setWindowTitle(u8"密码错误请重试"); + + } + else{ + this->accept(); + } +} + + +void passwd::on_pushButton_2_clicked() +{ + this->reject(); +} + diff --git a/passwd.h b/passwd.h new file mode 100644 index 0000000..7bcd45b --- /dev/null +++ b/passwd.h @@ -0,0 +1,29 @@ +#ifndef PASSWD_H +#define PASSWD_H + +#include + +namespace Ui { +class passwd; +} + +class passwd : public QDialog +{ + Q_OBJECT + +public: + explicit passwd(QWidget *parent = nullptr); + ~passwd(); + +private slots: + void on_buttonBox_accepted(); + + void on_pushButton_clicked(); + + void on_pushButton_2_clicked(); + +private: + Ui::passwd *ui; +}; + +#endif // PASSWD_H diff --git a/passwd.ui b/passwd.ui new file mode 100644 index 0000000..d96b1d8 --- /dev/null +++ b/passwd.ui @@ -0,0 +1,49 @@ + + + passwd + + + + 0 + 0 + 240 + 70 + + + + 输入密码 + + + + + + 输入管理员密码 + + + + + + + QLineEdit::Password + + + + + + + 确定 + + + + + + + 取消 + + + + + + + +