linux qt写入excel文件内容,Qt——读入txt文件,写入到表格

负责文件的读写,主要有如下三种函数

#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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值