如何用Qt设计一个多文档文本编辑器


前言

学习了有关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设置文字对齐撤销等

其他这些就简单了,只需要调用相应的函数即可,不理解的可以去帮助文档里查看。

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rubber树

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值