整体程序:
#include "tablewidget.h"
#include <QtWidgets>
#include <QFile>
#include <vector>
#include<iostream>
#include <fstream>
void readData() //读入一张图的数据,将txt的二维数据传输到二维数组中
{
std::ifstream fin;
fin.open("Imagedata.txt");
if (fin.fail())
{
std::cout << "File open error!";
int m;
std::cin >> m;
}
else{
for (int i = 0; i < 85425; i++)
{
for (int j = 0; j < 33; j++){
fin >> imageData[i][j];
}
}
fin.close();
}
}
int x=1;
int y=20; //原本三维数组(225,355,33)转换成(85425,33)的矩阵
int location = (x-1)*355+y;<span style="white-space:pre"> </span>//225*355的图上坐标为(x,y)的点数据存储在第location行
double imageData[85425][33]; <span style="white-space:pre"> </span>//(1,1)的点在第一行,(1,2)的点在第二行。。。(1,355)点在第355行,(2,1)点在第356行,以此类推
TableWidget::TableWidget()
{
table = new QTableWidget(this);
table->setColumnCount(56);
table->setRowCount(60); //创建了一个60*56的表格
QStringList headers;
headers <<"400nm"<<"410nm"<<"420nm"<<"430nm"<<"440nm"<<"450nm"<<"460nm"<<"470nm"<<"480nm"<<"490nm"
<<"500nm"<<"510nm"<<"520nm"<<"530nm"<<"540nm"<<"550nm"<<"560nm"<<"570nm"<<"580nm"<<"590nm"
<<"600nm"<<"610nm"<&l