QT-6-文件IO

QFileDialog

是QDialog的派生类,专门用于弹出对话框选择打开的文件和目录,或保存的文件。使用静态函数调用。

弹出选择要读取(保存)文件的对话框

QString QFileDialog::getOpenFileName(QWidget * parent = 0,

const QString & caption = QString(),

const QString & dir = QString(),

const QString & filter = QString()) [static]

参数一:父组件对象

参数二:标题

参数三:在哪个路径下打开,默认在工作目录打开

参数四:过滤器

返回值:选择的文件路径,选取失败的返回值是""

QFileDialog本身并不会真正的去读写文件,如果要读写文件还得借助QFile类。

QFileInfo 文件信息类

此类可以通过大量的成员函数获取本地存储的某文件或文件夹的信息。

QFile类

此类可以对本地文件进行读写操作,继承自QIODevice类,QIODevice类是Qt中所有支持IO操作的类的基类,内部规定了很多IO的标准函数。

QByteArray类是Qt中的字节数组类。

程序未响应

上面的程序在拷贝小文件时,没有什么大问题。但是当拷贝文件较大时,会出现卡顿的现象,此时如果执行Windows操作(例如关闭程序),则会出现程序未响应的弹窗。

在默认的情况下,Qt程序是只有一个线程的,这表示Qt的代码在同一时刻只有一条执行顺序流,且顺序不能打乱。

但是有的代码本身执行的时间过长,后面的代码都会等待这个代码执行结束才能得到机会执行,这个执行时间过长的代码一般称之为“耗时操作”,这种现象被称为“阻塞”。此时操作系统发送的命令也会被阻塞,操作系统检测到给程序的命令没有及时响应,因此触发操作系统的保护机制:“程序未响应”。

这个自带的主线程,主要执行的操作是与UI相关的操作,也称之为“UI线程”。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值