项目地址:GitHub - Outlier9/CatEditor: Cat文本编辑器--Qt
有帮助的话各位点点 star 啦,感谢!
如果有需要学习该项目的人,觉得看文档较为困难,可以加我联系方式,给github点个star后可免费提供学习视频!!!
本篇是针对我在做项目的时候遇到的bug和一些疑问的总结,综合前几部分看
三、Bug/疑问集合
1.关于子窗口创建的疑问
疑惑点:在写该项目的时候,我对控件的了解只是知道最基本的常用控件,诸如使用到的MDI Area
并不熟悉,因此在实现新建文档的功能的时候我会产生一个疑问: 我并没有发现new的语句,这个窗口是怎么创建的?再三检查相关代码,整个过程中我只创建了Chilewnd实例ChileWnd *childwnd = new ChileWnd;
并添加到了MDI
中ui->mdiArea->addSubWindow(childwnd);
但是这个类属于自定义类,且类的实现过程中,更没有创建的语句。按常例来说,假如我要创建一个按钮控件,我要写new QPushButton();
然后将其添加到ui
中,所以对此处我向GPT进行求问:
解答:当将一个 ChileWnd
实例添加到 QMdiArea
中时,它会自动成为一个子窗口。ChileWnd
本质上是继承自 QTextEdit
的一个自定义类,因此它具备 QTextEdit
的所有功能,并且可以被添加到 QMdiArea
中管理。在 Qt 的 QMdiArea
中,任何继承自 QWidget
的类都可以作为子窗口添加,不需要特别考虑类型,只要是 QWidget
或其子类都可以。你可以将其理解为任何可以显示的控件都可以添加到 QMdiArea
中,而 QMdiArea
会将其作为子窗口处理。
2.关于给窗体设置图标的时候遇到的bug
① [Makefile:84:WPS resource res.o]Error 1
检查icon文件格式,不能直接png等图片改后缀,要用专门的工具进行格式转换
图片转ICO-在线图片格式转换-批量图片格式转换工具
② No rule to make target '../WPS/images/icon.png',needed by'arc_res.cpp'.Stop.
名称不能有中文,可以试试修改路径中的中文,不过我的路径中均为英文,遇到这个错误是因为将images中的png直接转后缀为ico文件后,又上传了qrc中,两个命名重复且已上传到qrc中的png图片已不存在,我将这还原以后就不再报错了,所以这里的图片操作要规范,不能图省事
最后项目就大致是这样子了,做的比较简陋,没有去做界面优化,因为目前还是以能力锻炼为主,并不是要做一个多么优美的app上线给用户用,后续如果有时间再考虑做界面优化,如有更新可在专栏查看