• 5380阅读
  • 7回复

[提问]QFILE类求助 [复制链接]

上一主题 下一主题
离线张兴亮
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-05
关键词: QT3
我想打开本地的TXT文件然后显示到QLABEL上,怎么写啊,
离线jdwx

只看该作者 1楼 发表于: 2012-05-05
大概意思如下:
QString filename = "xxxxx.txt";
    QFile file(filename);
    if(file.open(QFile::ReadOnly))
    {
        QTextStream in(&file);
        label->setText(in.readAll());
    }
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线lejcey

只看该作者 2楼 发表于: 2012-05-05
我勒个去啊,readall读的是QByteArray!setText设置的是QString!

兄弟你不怕乱码吗?楼上的?


离线roywillow

只看该作者 3楼 发表于: 2012-05-06
回 2楼(lejcey) 的帖子
人家调用的是QTextStream的readAll(),会自己处理编码问题的吧……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 4楼 发表于: 2012-05-06
回 2楼(lejcey) 的帖子
QString QTextStream::readAll ()关于QTextCodec的设置用哪种编码完全是自己的事。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线xuweistudy
只看该作者 5楼 发表于: 2012-05-06
QFile file("fileName");
file.open(QIODevice::ReadOnly|QIODevice::Text);
QTextStream in(&file);
in.setCodec("UTF-8");//
QString str;
str.append(in.readAll());
file.close();
离线lejcey

只看该作者 6楼 发表于: 2012-05-06
回 4楼(jdwx) 的帖子
可能是我多心了,以前遇到过很多编码方面的问题,几乎要憋死我,如果文本文件含有双字节,比如中文,那么在非GB2312的环境下QT还能自动处理吗?我想显然不能吧。不知道windows什么时候能学学linux学学mac,彻底扔掉代码页这种公元前就过时的东西,强逼程序员使用Unicode,永远避免这个问题,尤其是在Windows API中彻底删除ANSI版的函数。

离线roywillow

只看该作者 7楼 发表于: 2012-05-06
回 6楼(lejcey) 的帖子
各种编码的处理是Qt使用自己的插件进行的,只要有插件在,应该就不用担心系统是不是支持
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个