• 6033阅读
  • 4回复

[提问]QFile保存问题和不同dpi下的显示问题 [复制链接]

上一主题 下一主题
离线alex_lue
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-28
论坛各位朋友,我有以下两个问题,实在没有在论坛上找到明确的答案,请各位帮忙。


1. 我想将数据保存为*.csv文件,但如果新的数据内容小于要覆盖的文件时, 原文件的多出的内容无法取消。(例如:原文件有数据100行,新的需要保存的数据有50行。如果选择覆盖,那只有50行被覆盖,剩下50行还保留。)有没有什么办法可以解决这个问题?例如:原文件所有的内容先删除后重写这种。


2. 大部分Win系统使用的dpi是96,当dpi是120时,很多字体都会变大。有没有那个类或者方法可以让字体自适应dpi的大小?


多谢各位!
离线ppdayz

只看该作者 1楼 发表于: 2011-04-28
对于数据操作不建议直接覆盖
个人认为流程应该这样,文件若为test.csv
现备份旧的文件
test.csv  move test.csv.back
然后新的存为 test.csv.save
如果写入正常就把test.csv.save move test.csv
同时删除旧文件的备份
不正常就把旧文件写回去



离线alex_lue
只看该作者 2楼 发表于: 2011-04-28
回 1楼(ppdayz) 的帖子
首先多谢这位朋友的回复,可能我没说清楚。

*.csv文件是逗号分隔值文件,这种文件可以用Excel打开,打开后就是一般的Excel文件那样显示。
我保存的时候用QFile进行保存,我的数据说白了就是一个例如100*100的表格数据。假设,我之前的csv文件里是100*100的表格,现在新的数据时50*100的表格。我如果覆盖原csv文件,那么只有前50行被重写,后50行还保留着。但我想实现的是:覆盖后,原来的100*100表格彻底没有,取而代之的就是50*100的表格。
离线ppdayz

只看该作者 3楼 发表于: 2011-04-28
回 2楼(alex_lue) 的帖子
你把旧的删了,保存新的不就行了么
离线alex_lue
只看该作者 4楼 发表于: 2011-04-28
自己顶,希望有明白人回答!
快速回复
限100 字节
 
上一个 下一个