#include #include #include #include #include #include static class fileReadSys { public: QWidget* widget; QVBoxLayout* layout; std::vector indexVec; fileReadSys(int count) { widget = new QWidget(); layout = new QVBoxLayout(); widget->setLayout(layout); for (auto i = 0; i < count; i++) { QLabel* label1 = new QLabel(u8"文件读取"+QString::number(i)); label1->setStyleSheet("font-size: 16px;"); QLineEdit *lineEdit = new QLineEdit(); QLabel* label2 = new QLabel(u8"地址"); layout->addWidget(label1); QHBoxLayout*layout2 = new QHBoxLayout(); layout2->addWidget(label2); layout2->addWidget(lineEdit); layout->addLayout(layout2); indexVec.push_back(0); } } fileReadSys(std::vectornames) { widget = new QWidget(); layout = new QVBoxLayout(); widget->setLayout(layout); for (auto i = 0; i < names.size(); i++) { QLabel* label1 = new QLabel(names[i]); label1->setStyleSheet("font-size: 16px;"); QLineEdit* lineEdit = new QLineEdit(); QLabel* label2 = new QLabel(u8"地址"); layout->addWidget(label1); QHBoxLayout* layout2 = new QHBoxLayout(); layout2->addWidget(label2); layout2->addWidget(lineEdit); layout->addLayout(layout2); indexVec.push_back(0); } } QString getpath(int index) { QList list = widget->findChildren(); return list[index]->text(); } cv::Mat getMat(int index) { QList list = widget->findChildren(); std::vectorfiles; fileManager::getAllFiles(list[index]->text().toStdString(), files,"bmp"); if (files.size() == 0) return cv::Mat(1,1,CV_8UC1,cv::Scalar(255,255,255)); cv::Mat img = cv::imread(files[indexVec[index]],-1); indexVec[index]++; return img; } }; #pragma once