一、优化图片查看软件
00:00
1. 存在的问题
00:16
路径记忆问题:无法记住上次打开的路径,每次都是同一个路径
默认路径设置:需要将默认路径设为文档/图片
图片自适应显示:需要实现图片自适应显示功能
2. 记住上次打开的路径
01:45
1)配置文件保存路径
02:11
配置方案:使用配置文件保存上次打开的路径
实现方法:
在程序编译后的debug目录下创建config目录
使用Setting.ini文件保存路径信息
通过QSettings类读写配置文件
2)QSettings类使用
02:32
头文件:需要包含<QSettings>头文件
构造方法:
读写操作:
读取值:pIniSet->value("/LastPath/path").toString()
写入值:pIniSet->setValue("/LastPath/path", path)
3)路径处理技巧
获取路径:使用qApp->applicationDirPath()获取程序所在目录
路径截取:使用fileName.lastIndexOf("/")找到最后一个斜杠位置
路径保存:只保存目录路径,不包含文件名
3. 默认路径设置
1)QStandardPaths类
08:49
功能:获取系统标准路径
常用枚举值:
PicturesLocation:图片目录
DocumentsLocation:文档目录
DesktopLocation:桌面目录
使用方法:
2)默认路径实现
实现逻辑:
首先尝试从配置文件中读取上次路径
如果为空,则使用系统图片目录作为默认路径
将选择的文件路径处理后保存到配置文件
4. 图片自适应显示
实现思路:通过QPixmap类加载图片并自适应显示
关键代码:
5. 代码优化建议
16:26
智能指针:建议使用智能指针管理QSettings对象
错误处理:添加配置文件读写错误处理
路径验证:检查路径是否存在再尝试打开
内存管理:及时释放不再需要的资源
二、图片查看器代码优化
18:52
1. Qt Creator优化图片查看
路径记忆功能:使用QSettings类存储上次打开的图片路径,通过配置文件实现路径记忆
默认路径设置:当首次打开时,默认路径设为系统图片目录,使用QStandardPaths::PicturesLocation获取
图片自适应显示:通过setScaledContents(true)实现图片自适应QLabel大小显示
三、优化图片查看软件存在的问题
20:02
路径记忆问题:
解决方案:使用QSettings将路径写入INI配置文件
实现细节:在关闭时保存当前路径,下次打开时读取
默认路径问题:
解决方案:通过QStandardPaths指定系统标准图片目录
替代方案:后续可使用Windows注册表存储路径
图片显示问题:
自适应显示:使用QPixmap的scaled()配合setScaledContents(true)
内存管理:new创建的QPixmap对象需要手动delete,避免内存泄漏
显示效果:设置Qt::KeepAspectRatio保持图片比例,防止失真
代码优化要点:
使用unique_ptr智能指针管理QSettings对象,避免内存泄漏
添加路径为空判断,确保默认路径设置
图片加载后立即释放QPixmap资源
通过qDebug()输出调试信息,方便问题排查