QT原始工程文件 使用Cmake构建工程 构建套件为 QT 6.10.0 MSVC2022-64bit
无UI界面的简单菜单完成相应图像处理任务(即验收时的版本)
用于测试使用的24位BMP文件
课程报告
课程设计题目及要求文件
6、封包文件
最终封包文件 解压后 运行PhotoShop-Lite.exe文件
软件操作流程为
1、进入软件
2、点击“选择图片”按钮
3、在第一个弹出的窗口中选择原始图片文件
4、选择后在第二个弹出的窗口中选择保存的图片路径,需要输入保存文件的名称如“XXX.BMP”
5、选择完成后即可使用接下来的3个控件对图像进行处理
6、只要不关闭子窗口,就能一直对原图像进行处理
存在以下注意事项
1、选择文件时不能包含中文路径
2、在未选择文件时不能点击其他按钮
2、再次选择文件时不能不选择退出
| 日期 | 日志 |
|---|---|
| 2025.5.12 | 1、初步学习使用qt |
| 2025.5.14 | 1、qt完成基础的按键布局设置 2、窗口背景的替换 3、实现通过按键打开任意图片 |
| 2025.5.18 | 1、对c语言源码加了一点注释便于之后得演示 2、正在尝试将c语言源码通过qt实现来完成后续任务 |
| 2025.5.23 | 1、对c语言源码进行修改,准备今天下午的验收,项目完成度不高但是大作业完成度还是有的 |
| 2025.5.27 | 1、修改部分文件,准备开始着手报告撰写及后续未完成任务的完成 2、修改图片显示方式,原本的缩放会导致图片变形,现在为固定比例,居中显示 3、基础代码移植,目前代码编译不报错 4、代码移植成功,目前代码已经可以完成相应的操作,接下来完成相应控件的编写 5、按钮一为 打开图片文件并保存这个图片文件 按钮三为设置新文件的保存位置 并将这个路径记录下来 按钮二为实现中值滤波并重新显示新的图片 |
| 2025.5.29 | 1、增加窗口完成后续功能,为在新的窗口中输入对应的系数并完成相应的转换 2、2、实现在新窗口中输入相关参数实现图片的缩小,并在主窗口中再次显示新图片,但是存在bug实现从子窗口调用主窗口ui后,子窗口消失,感觉融入住窗口了,下一步修这个bug 3、 4、 5、 |
| 2025.6.3 | 1、解决BUG无解 查找各种资料后放弃,转而询问ai AI给出正解父窗口指针的影响:当你把父窗口指针传递给子窗口时,子窗口就会被当作父窗口的子部件,这就导致子窗口会被限制在父窗口内部,没办法像独立窗口那样自由移动。窗口标志未设置:子窗口默认没有Qt::Window标志,所以它不会显示出标题栏和边框,也就无法通过拖动标题栏来移动窗口。 2、修复上一次出现的bug,并添加后续任务,目前已经以一套基础的ui界面完成了虽有任务,下一步优化交互逻辑及ui界面美观程度 3、重新阅读题目后发现缩小图像不是只能整体缩小,还需要能够分别缩小x或者y,直接修改ratio分别为x和y程序直接崩溃,发现不同的ratio会导致bmp文件不满足4字节对齐规则,导致程序崩溃,故增加4字节检查算法,并对无法满足4字节对齐规则的自行补充2字节 |
| 2025.6.4 | 1、优化界面美观度 圆角无边框 自制关闭最小化图标 修改原来一致的btn 为不同的btn 2、完成报告大纲还差更多细节待处理 3、还有另外两个窗口待修改(好难ui设计有点东西) |
| 2025.6.5 | 1、完善整个软件代码 2、打包成exe文件 进行测失败 最终还是包成压缩包 3、报告 |
使用到的参考链接(5月27日看了报告文件后才知道需要收录这个文件)
https://blog.csdn.net/sinat_36420785/article/details/81218049
https://blog.csdn.net/keanight/article/details/79150637
https://blog.csdn.net/qq_33485434/article/details/80680506 qstring和string转化
https://blog.csdn.net/u012790503/article/details/119855465 槽函数相关探究
https://www.cnblogs.com/LifeoFHanLiu/p/9978425.html getOpenFileName getSaveFileName
https://blog.csdn.net/jkjijijkv/article/details/119969325 弹出新窗口
https://blog.csdn.net/yanghz/article/details/135004353 Qt6.5类库详解:QTextBrowse 看完详解后发现这个并不是我想要的
https://blog.csdn.net/qq_45652092/article/details/111183979 Qt中的Qlabel类(标签类)详解
https://blog.csdn.net/qq_14945437/article/details/98730805 Qt之QSlider介绍(属性设置、信号、实现滑块移动到鼠标点击位置)
https://blog.csdn.net/Sakuya__/article/details/105885764 QT 在子窗口中调用主窗口的UI
https://blog.csdn.net/yy_xzz/article/details/148299320 Qt 窗口标志(Window Flags)详解:控制窗口样式与行为
https://blog.csdn.net/qq_44084616/article/details/109612685
https://juejin.cn/post/7186248005496864824 无边框窗口圆角
https://blog.csdn.net/qq_44084616/article/details/109612685 无边框窗口移动
https://blog.csdn.net/hiwoshixiaoyu/article/details/122468086 ui界面布局
https://blog.csdn.net/rong11417/article/details/104000236 Qt延时/等待写法 阻塞延时/不阻塞延时/耗时代码的处理