负责文件的读写,主要有如下三种函数
#include ofstream //文件写操作 内存写入存储设备
ifstream //文件读操作,存储设备读区到内存中
fstream //读写操作,对打开的文件可进行读写操作这方面的介绍很多,具体也可参考链接 http://blog.csdn.net/kingstar158/article/details/6859379
第二:建立一个56*60的表格
TableWidget::TableWidget()
{
table = new QTableWidget(this);
table->setColumnCount(56);
table->setRowCount(60);
QStringList headers;
headers <
}
创建一个QTableWidget的类,设置表格行列,与行标题。或者也可以这样创建表格
QTableWidget *table = new QTableWidget(60,56); //新建一60行56列的表格
如果想要实现增加行,可以参考这篇文章,此处附上一个链接http://blog.csdn.net/xgbing/article/details/7774737
但问题是显示出来的表格太小,不知道是不是自己软件系统又抽什么疯了,所以我又调用了resize函数来调节表格大小。
table->resize(1366,200);
这里的1366是从哪儿得到的呢?我是查看了窗口的分辨率得知的,调用函数
QDesktopWidget *d = QApplication::desktop();
int w = d->width(); // 返回桌面宽度
int h = d->height();// 返回桌面高度
我也曾试过直接让table->resize(w,h);但是这种做法会让我失去滚动条,另外介于比例好看的原因,我只取了它的宽度。
第三:把数组写进表格里
for (int column = 0; column < 33; ++column)
{
QTableWidgetItem *item0;
item0 = new QTableWidgetItem;
double m=imageData[location][column];
QString txt = QString("%1").arg(m); //把十进制的数字地转换成string型
item0->setText(txt);
table->setItem( 0 , column , item0); //把txt内容填进表格里
}
也可以通过下面方式简单地在表格内输入内容
table->setItem(0, 0, new QTableWidgetItem(QString("1")));
Qstring只能输入字符串,所以需要把十进制数字转换成string型的才行,通过以下语句解决了这个问题。
QString txt = QString("%1").arg(m);其中%1用第一个数字代替,%2就用第二个数字代替,简单来说就是用字符串变量参数依次替代字符串中最小数值,比如:
QString status = QString("Processing file %1 of %2: %3") .arg(i).arg(total).arg(fileName);
结果就是"Processing file i of totalt: fileName"
再看arg的定义:QString::arg ( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) ) const,这里fieldWidth表示字符宽度,base表示进制
相关知识主要参考这篇http://qimo601.iteye.com/blog/1420750