前言
学习了有关Qt的基础知识,下面来做一个简单的案例---多文档文本编辑器,具有新建、打开、保存一个文件、设置字体、设置字号、文字的剪切、复制、粘贴、加粗、倾斜、下划线、设置字体颜色、左对齐、居中、右对齐、撤销、重做等功能。
一、设计目标
设计一个文本编辑器首先需要在ui界面设计一个界面,里面包含许多MainWindow类的对象,可以选择给对象添加一些图标来增加美观,设计界面后在MainWindow类的头文件声明所需要的类,在源文件MainWindow.cpp中通过信号与槽来实现相应的功能。
二、效果展示

三、设计过程
1.设计思路
1.1文件的打开和新建
新建文件的本质是打开一个新窗口然后保存,新建子窗口使用MainWindow类,打开文件需要先获取文件的路径,通过readAll函数可以将文件内容都给读出来,然后再在窗口中编辑。保存文件的原理也类似,读取文件后使用QByteAarry类型的值储存接收,需要注意的是QFile类不支持utf8编码,需要自己转换。
1.2设置字体和字号
需要用到QFontComboBox和QComboBox类,这里也是本次案例的一个难点,用了设置字体的筛选器setFontFilters(可缩放字体),还用了foreach循环,语法为:foreach(变量,容器)+语句。在connect函数中需要用到QTextCharFormat类获取字符的格式,再通过mergeFormat函数转换。
1.3设置字型和颜色
也是需要用到QTextCharFormat类获取字符的格式,不过比上面简单得多,只需要获取->变化即可,这里有个注意的点,点完对象字体变粗后再点一次取消,需要用到最后一句代码。颜色方面不同的是需要新建一个系统自带的颜色窗口。
1.4设置文字对齐撤销等
其他这些就简单了,只需要调用相应的函数即可,不理解的可以去帮助文档里查看。

最低0.47元/天 解锁文章
687

被折叠的 条评论
为什么被折叠?



