找回密码
 立即注册
收起左侧

model中的数据如何导入导出到文本文件

1
回复
3522
查看
[复制链接]

尚未签到

来源: 2015-3-7 12:12:09 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 wfwjp 于 2015-3-7 12:14 编辑

tvmodel = new QStandardItemModel(this);
ui->tv->setModel(tvmodel);
tvmodel->setColumnCount(21);
currow=tvmodel->rowCount();
tvmodel->setItem(currow, 0, new QStandardItem(ls_bh));......
请教各位:
请问怎么把数据导出到文本文件,再从文本文件导入按照格式显示到界面上。
导出文本文件可以用以下方法,但是怎么导入呢?
  QFile file(fileName);
    if (file.open(QIODevice::WriteOnly))
    {        QTextStream stream(&file);
        int cc=view->columnCount();
              QStringList list;
              for (int i=0;i<view->rowCount();i++)
        {
            list.clear();
            for (int j=0;j<cc;j++)
            {
                list<<view->index(i,j).data().toString();
            }
            stream<< list.join("\t")<<"\r\n";
        }
        file.close();
    }
回复

使用道具 举报

尚未签到

2015-5-3 11:45:44 显示全部楼层
这样行吗?   
if (fileName.isEmpty())
    return;

    QFile file(fileName);
    QStringList columnstrings;
    int row(0),li_colcount(0),li_listcount(0);
    if (file.open( QIODevice::ReadOnly | QIODevice::Text))
    {
        QTextStream stream(&file);
        li_colcount=view->columnCount();
        row=view->rowCount();
        while(!stream.atEnd())
        {
            columnstrings=stream.readLine().split("\t",QString::SkipEmptyParts);
            li_listcount=columnstrings.size();
            if (li_listcount>li_colcount) continue;
            for (int j=0;j<li_listcount;j++)
            {
                view->setItem(row,j,new QStandardItem(columnstrings.at(j)));
            }
            row++;
        }
    }
    else
    {
        return;
    }
    file.close();
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了