Qt-读写文件总结

最近用Qt写了一个关于注册码界面,其中涉及了读取文本文件,以及关于字符串和日期的处理,所以我想在这里做一个简单地总结。
首先是关于读取文本文件。Qt中有QFile类,这是一个对文件管理的类。这个类包含了一些读取文本的方法,可以直接调用这些方法来读取文本文件。例如,readLine方法可以直接读取文本文件的一行。具体的代码如下:

       QFile *file=new QFile("./Resources/LoginWord/loginWord.txt"); 
       file->open(QIODevice::ReadOnly|QIODevice::Text)
      qint64 num = file->readLine(SloginWord,sizeof(SloginWord)); 

第一行代码是创建一个QFile的对象,然后调用open打开文件。打开成功返回true,失败返回false。
ReadOnly表示只读,Text表示已‘\n’作为读取一行的结尾标志。最后调用readLine方法读取文本,返回的是读取一行文本的字符数。

除了上面的QFile读取文本文件,我还用到了QTextStream.它可以操作QIODevice、QByteArray和QString。

fileUserDateWord = new QFile("./Resources/LoginWord/UserDateWord.txt");
if(!fileUserDateWord->open(QIODevice::ReadOnly|QIODevice::Text))
{
    QMessageBox::information(this,tr("打开文件失败"),fileUserDateWord->errorString());
}

in = new QTextStream(fileUserDateWord);
QString info = in->readLine();
    QStringList list = info.split("%");
QList<QString>::iterator it = list.begin();

以下是写入文件:

QFile fileUserDateWord("./Resources/LoginWord/UserDateWord.txt");
QString info = userName + "%" + loginWord + "%" + time + "%" + year +"%"+ mouth +"%"+day+"%"+ isUserLogin +"\n";

//设置写入的字符编码,可以写入中文字符

QTextCodec* codec=QTextCodec::codecForName("UTF-8");

QTextStream out(&fileUserDateWord);
out.setCodec(codec);
out<<info;

然后就是关于日期。
Qt关于获取系统日期的类后很多,有QDate,QDateTime等。其中我在程序中使用的是QDateTime,因为这个类不仅可以获得年月日,还可以获取时分秒。

QDateTime localDate = QDateTime::currentDateTime();
QString time = localDate.toString("yyyy%MM%dd%hh%mm%ss");

第一行代码是指获取当前的系统时间。第二行代码是指把时间显示格式设置为yyyy%MM%dd%hh%mm%ss。比如2015%03%04%18%22%23.我用‘%’是为了以后读取的时候,分别获取年月日等日期的方便。
在文本中获取日期后,日期都是以字符串的形式存储的,要想获取例如int类型的日期,就要用到toInt,toLong等方法。当然要想把int类型的日期转化为QString类型的日期,就要用到setNum
这个方法了。

最后就是关于字符的处理。
对于字符的处理QString里有很多的方法。其中我用到了split(“%”)方法,这个方法就是用%来分割字符串,返回的是一个QStringList的对象。

     QStringList list = info.split("%");
    QList<QString>::iterator it = list.begin();

还有一条就是readLine方法读取一行,是包含行的结束字符的‘\n’,要去除这个字符可以调用trimed这个方法。对于QStringList 的遍历可以使用QList::iterator这个对象。

最后如果是要获取电脑计算机名,在Qt中可以使用QHostInfo这个类。
具体的代码为QHostInfo::localHostName();

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 1 1 Qt概述 3 1.1 什么是Qt 3 1.2 Qt的发展史 4 1.3 支持的平台 4 1.4 Qt版本 4 1.5 Qt的安装 5 Linux Host 5 OS X Host 5 Windows Host 5 1.6 Qt的优点 5 2 创建Qt项目 6 2.1 使用向导创建 6 2.2 手动创建 9 2.3 .pro文件 10 2.4 一个最简单的Qt应用程序 12 3 信号和槽机制 13 3.1 信号和槽 13 3.2 自定义信号槽 15 自定义信号槽需要注意的事项 18 信号槽的更多用法 18 3.3 Lambda表达式 19 4 Qt窗口系统 21 4.1 Qt窗口坐标体系 21 坐标体系 21 4.2 QWidget 21 4.2.1 对象模型 21 4.3 QMainWindow 23 4.3.1 菜单栏 24 4.3.2 工具栏 25 4.3.3 状态栏 25 4.4 资源文件 26 4.5 对话框QDialog 29 4.5.1 基本概念 29 4.5.2 标准对话框 30 4.5.3 自定义消息框 31 4.5.4 消息对话框 33 4.5.5 标准文件对话框 36 4.6 常用控件 39 4.6.1 QLabel控件使用 39 4.6.2 QLineEdit 41 4.6.3 其他控件 43 4.7 布局管理器 43 4.7.1 水平/垂直/网格布局 44 4.7.2 自定义控件 46 5 Qt消息机制和事件 50 5.1 事件 50 5.2 event() 52 5.3 事件过滤器 55 5.4 总结 59 5.5 不规则窗体 62 6 绘图和绘图设备 63 6.1 QPainter 63 6.2 绘图设备 65 6.2.1 QPixmap、QBitmap、QImage 66 6.2.2 QPicture 69 7 文件系统 70 7.1 基本文件操作 71 7.2 二进制文件读写 73 7.3 文本文件读写 75 8 Socket通信 76 8.1 TCP/IP 77 服务器端 77 客户端 79 8.2 UDP 81 广播 82 组播 82 8.3 TCP/IP 和 UDP的区别 83 9 多线程 83 9.1 线程介绍 84 9.2 多线程的使用 87 9.3 使用线程绘图 89 10 数据库操作 91 10.1 数据库操作 91 10.2 使用模型操作数据库 97 查询操作 97 插入操作 98 更新操作 99 删除操作 100 10.3 可视化显示数据库数据 100 11 Qt程序打包 102 1Qt概述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值