• 5834阅读
  • 6回复

[提问]如何获取未保存文件的大小? [复制链接]

上一主题 下一主题
离线q_ter
 

只看楼主 倒序阅读 楼主  发表于: 2011-10-09
小弟最近学习Qt,模仿着网上的教程写了一个简易的文本编辑器,现在遇到了一个难题,能否请各位大牛们赐教。
问题就是,比如我现在新建了一个文本,写了一些内容但还没有保存,即内容还在内存中,未写到磁盘。所以我想知道如何才能实时获取到这些内容的大小,并在主窗口的状态栏中显示出来。
欲实现如下图的效果:

离线dbzhang800

只看该作者 1楼 发表于: 2011-10-09
这个东西,不就是一个字符串的长度么?自己算呗。

当然你需要考虑你采用何种编码,同样一个文本文件,采用GB18030、Utf-8、UTF-16be/le、UTF-32be/le 等等保存,文件大小是不一样的。以及带不带BOM、换行符格式等都会影响文件实际大小。
离线q_ter

只看该作者 2楼 发表于: 2011-10-09
已找到如何解决,谢谢
离线yiweiwei3204

只看该作者 3楼 发表于: 2011-10-10
楼主  能否说下解决的思路  我也是新手 也想学习下  
离线fuzhongyao
只看该作者 4楼 发表于: 2011-10-10
回 2楼(q_ter) 的帖子
怎么解决的。贴出来呗。大家学习学习!
离线xushiyun2008

只看该作者 5楼 发表于: 2011-10-10
textedit 下有个length()函数
应该是这个了
好吧.验证码.闭嘴

离线roywillow

只看该作者 6楼 发表于: 2011-10-10
length只是获得字符数量吧,想获得字节数量还要看最后写入文件采用的编码是什么
如果是我,我会将这段文本先写入一个bytearray中,然后获得这个arra的大小,实际写入文件的时候就写这个array
不过我想用textcodec手动将内容转换为目标编码也会得到一个bytearray,这个array应该也能用吧,不过这个array里可能没有一些签名之类的(好像是这个叫法吧)?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个