关系经济人类预测化学自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

Qt开发文件的读写操作

3月23日 终不悔投稿
  引言
  文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处理而开发的,所以文件读写是应用程序开发的一个基本功能。
  Qt提供了两种读写纯文本文件的基本方法:用QFile类的IODevice读写功能直接进行读写利用QFile和QTextStream结合起来,用流(Stream)的方法进行文件读写。一、文件读操作
  (1)使用QFile类
  Qt封装了QFile类,方便我们对文件进行操作,可以按照如下的步骤进行:使用QFile加载文件对象打开文件file。open(打开方式)操作文件关闭文件file。close()
  实例:点击读写文件按钮,读取文件内容到textEdit中
  1设置ui界面
  2在widget。cpp中编辑代码(QFileDialog类是打开文件)点击选取文件按钮,弹出文件对话框connect(uipushButton,QPushButton::clicked,〔〕(){QStringpathQFileDialog::getOpenFileName(this,打开文件,C:UsersWFDDesktop);将路径显示在lineEdit中uilineEditsetText(path);读取文件内容,放入textEdit中QFilefile(path);参数就是文件的路径设置打开方式file。open(QIODevice::ReadOnly);用QByteArray类去接收读取的信息QByteArrayarrayfile。readAll();将读取到的数据放入textEdit中uitextEditsetText(array);关闭文件对象file。close();
  注意:在设置打开方式的时候
  QFile::open()函数打开文件时需要传递QIODevice::OpenModeFlag枚举类型的参数,决定文件以什么方式打开,QIODevice::OpenModeFlag类型的主要取值如下:QIODevice::ReadOnly以只读方式打开文件,用于载入文件。QIODevice::WriteOnly以只写方式打开文件,用于保存文件。QIODevice::ReadWrite以读写方式打开。QIODevice::Append以添加模式打开,新写入文件的数据添加到文件尾部。QIODevice::Truncate以截取方式打开文件,文件原有的内容全部被删除。QIODevice::Text以文本方式打开文件,读取时被自动翻译为换行符,写入时字符串结束符会自动翻译为系统平台的编码,如Windows平台下是r。这些取值可以组合,例如QIODevice::ReadOnlyQIODevice::Text表示以只读和文本方式打开文件。
  注意:在操作文件时
  用只读方式打开一个文本文件,然后用readAll()方法将文件内容一次全部读取出来,返回值是字节数组QByteArray。QByteArray用来存放二进制数据,如果想要看文字内容需要转换成QString。(有时候系统会自动转换)
  我们也可以使用readLine方法一次读取一行,然后每次对一行文字进行操作:(用file。atEnd判断是否读到最后一行)QByteAwhile(!file。atEnd()){arrayfile。readLine();叠加读过的行}
  (2)使用QTextStream类
  如果操作的是文本文件,Qt还专门封装了一个处理文本流的类,我们可以用它来读取文本内容点击选取文件按钮,弹出文件对话框connect(uipushButton,QPushButton::clicked,〔〕(){QStringpathQFileDialog::getOpenFileName(this,打开文件,C:UsersWFDDesktop);将路径放在lineEdit中uilineEditsetText(path);读取文件内容,放入textEdit中QFilefile(path);参数就是文件的路径设置打开方式file。open(QIODevice::ReadOnly);用QTextStream类去读取文本信息QTextStreamQS(file);用QString类去接收读取的信息QStringarrayQS。readAll();将读取到的数据放入textEdit中uitextEditsetText(array);关闭文件对象file。close();二,文件写操作
  (1)使用QFile类
  使用QFile同样可以对文件进行写操作:
  (2)使用QTextStream类
  QTextStream类对操作符进行了重载,我们可以通过操作符将字符串流入文本文件:
  三,文件信息读取
  除了对文件的读写操作,Qt还封装了QFileInfo类帮助我们获取文件的元数据,比如文件大小、后缀名、创建时间、最后修改时间等等:
  拓展:各编码转换QStringQByteArrayQString。toUtf8();QByteArraystd::stringQByteArray。toStdString();std::stringcharstring。date();常用静态函数QFileDialog::getOpenFileName()获取指定文件路径名返回QStringQFileDialog::getExistingDirectory()获取指定路径返回QStringQFileDialog::getSaveFileName()获取指定保存路径名返回QString
  QT配置ini文件的建立,读取,写入操作
  1ini文件介绍
  。ini文件是InitializationFile的缩写,即初始化文件。
  除了windows现在很多其他操作系统下面的应用软件也有。ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些。ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。
  2ini文件格式
  INI文件由节、键、值组成。节〔section〕参数(键值)namevalue
  下面是一个ini文件的例子〔Section1Name〕KeyName1value1KeyName2value2。。。〔Section2Name〕KeyName21value21KeyName22value22
  其中:〔Section1Name〕用来表示一个段落。因为INI文件可能是项目中共用的,所以使用〔SectionName〕段名来区分不同用途的参数区。例如:〔Section1Name〕表示传感器灵敏度参数区;〔Section2Name〕表示测量通道参数区等等。
  点击领取Qt学习资料视频教程链接
  注解:使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。
  3Qt写ini文件includeQApplicationincludeQSettingsintmain(intargc,charargv〔〕){QApplicationa(argc,argv);Qt中使用QSettings类读写ini文件QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省QSettingsconfigIniWritenewQSettings(hahaya。ini,QSettings::IniFormat);向ini文件中写入内容,setValue函数的两个参数是键值对向ini文件的第一个节写入内容,ip节下的第一个参数configIniWritesetValue(ipfirst,192。168。0。1);向ini文件的第一个节写入内容,ip节下的第二个参数configIniWritesetValue(ipsecond,127。0。0。1);向ini文件的第二个节写入内容,port节下的第一个参数configIniWritesetValue(portopen,2222);写入完成后删除指针deleteconfigIniWreturna。exec();}
  运行程序后,打开程序目录下的hahaya。ini文件,结果如下图所示:
  4Qt读ini文件includeQApplicationincludeQSettingsincludeQDebugintmain(intargc,charargv〔〕){QApplicationa(argc,argv);QSettingsconfigIniReadnewQSettings(hahaya。ini,QSettings::IniFormat);将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型QStringipResultconfigIniReadvalue(ipsecond)。toString();QStringportResultconfigIniReadvalue(portopen)。toString();打印得到的结果qDebug()ipRqDebug()portR读入入完成后删除指针deleteconfigIniRreturna。exec();}
投诉 评论 转载

韦霍斯特有信心能取得进球我当然渴望能留在曼联直播吧1月25日讯韦霍斯特在接受AlgemeenDagblad采访时表示,他渴望在赛季结束之后,能够继续留在曼联。韦霍斯特说:归根结底,作为一名前锋,进球就是评判你表现的……拾遗补阙之作,盖世小鸡G7XBOX定制版手柄评测对于喜欢PC游戏和主机游戏的玩家而言,肯定不会对大名鼎鼎的Xbox手柄陌生。从Xbox360手柄到XboxOne手柄再到Xbox精英手柄,饱满的手柄造型和出色的按键手感一直被玩……2005年,张子健拍戏回家,妻子说离婚吧,张子健坚决不同意2005年,张子健拍完戏回家,妻子李婷对他说:我们离婚吧!张子健坚决不同意:好好的,离什么婚呀?没想到,妻子却拿起菜刀,以死相逼,张子健只能同意。原来一切都有苦衷。……重庆市农业科学院水稻研究所副所长油菜团队负责人研究员黄桃翠让每年春天,重庆广阳岛上300余亩油菜花竞相绽放,吸引众多市民游客纷至沓来,赏花留影。不止广阳岛,在重庆,只要油菜花成片盛开的地方,都会成为人们欣喜前往的打卡地。然而,鲜为……好消息!个人养老保险又出新政策了国务院最新指出为了发展利民政策,满足个人养老需求,会议决定对个人养老金实行个人所得税优惠:对缴费者按照每年12000的限额进行税前扣除,投资收益不征税了,领取收入实际税负7。5……尴尬了,皇马已不想和姆巴佩有什么传闻,姆巴佩彻底无缘加盟皇马最近关于姆巴佩与巴黎的争端成为焦点,而关于皇马和姆巴佩的消息再次出现。对此《马卡报》知名记者JoseFelixDiaz表示,皇马方面对于姆巴佩和巴黎圣日耳曼的争端和传闻已经没有……女排洗牌,郎平弃将崛起不惧瓦尔加斯,或成奇兵,王梦洁劣势导读:由于在东京周期失利,新周期在中国女排建队之前,中国排协特意以训练营的形势磨炼一众球员,充分形成竞争格局,洗牌的意图明显。良性竞争下,中国女排实力的提升逐渐步入正轨,即便是……9398!CBA险爆大冷,李楠加时无缘大逆转9连败,小将王仕问:如何才能每天都能收到这样的体育资讯?答:只需点击右上角关注即可。北京时间1月9日,CBA常规赛第20轮比赛继续展开争夺。中午11点,江苏对阵新疆的比赛打响。这场……因为头比较大,他的超模之路一帆风顺最近,巴西超模AndrZiehe(安德烈齐厄)建立了自己的足球队BrooklynTigers(布鲁克林老虎队)。这个足球队是全男模阵容,他担任该队的队长,其余还有多位来自……假小子过关斩将,拨开迷雾,真相一览无余旗开得胜,气冲云霄。江上舟摇,楼上帘招。独霸天下自逍遥,风又飘飘,雨又萧萧。何日归家洗征袍?金杯光门人,彩旗飘飘。青春永驻,时光不老,……Qt开发文件的读写操作引言文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处理而开发的,所以文件读写是应用程序开发的一个基本功能。Qt提供了两种读写纯文本文……长沙举办历史建筑档案展带你走进时光深处,领略古城的千年风采本人不是长沙人,但似乎与长沙有缘,以前对长沙了解有限,通过近年来听有关长沙历史文化与建筑风貌的讲座或看相关的展览,我正一步步走进长沙历史深处,因此也渐渐地喜欢上了这座有着300……
货币的本质是什么?悲惨世界很经典的5句话,读过一生受益头晕耳鸣,气血不足?中医这几款中药茶,或能助你补气血!世界七大奇迹之一自由女神像卷土重来,消息称三星GalaxyS23FE今年晚些时候发布这个世界很吵闹,但你要很自信5大悍将驰援哈登,新赛季76人复刻火箭体系,首个总冠军到手了第2期基金复盘(2022年6月24日)输球与战术无关,裁判偷走了泰山队一个点球,足协该满意了?功夫盛典极速KO帕奇特侬,世界冠军卡皮坦要来了!9部以汉朝为背景的电视剧,星汉灿烂评分只能排第五86天,28300公里,难忘的追梦之旅
描写荷花的作文车子是男人的小三,谁动跟谁急眼,弄脏了也不行发现被人算计时,最聪明的不是翻脸,而是做这三件事同时保送三所名校女生上了贼船就一定要到岸从0到1建立数据分析指标体系的底层逻辑qq群怎么踢人如何将一个人踢出qq群张杰励志歌曲歌词赏析1岁宝宝过敏怎么办遇到车祸时,跳车往后跳还是往前跳?伞膜乌贼:世界上体型最大的巨乌贼(体长可达1米)怎么控油简单有效?四个方法和油腻脱妆分手紫砂壶如何开壶煮多久紫砂壶开壶需要煮多长时间

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州