Qt实现文本编辑器(一)

article/2025/8/22 19:22:55

在Qt中QMainWindow是一个为用户提供主窗口程序的类,包含了:菜单栏、工具栏、锚接部件、状态栏以及一个中部件。今天我就来通过实现一个简单的文本编辑器讲解下对QMainWindow的各种功能讲解。

想要完整的实现一个编辑器,所需要的功能还是比较全面的。今天主要来讲解如何构建文本编辑器,包括了:菜单栏、工具栏以及文本编辑区域。

功能实现

在QMainWindow中,菜单与工具栏都与QAction类有密切的关系,实现菜单和工具栏主要是对动作的实现。

QAction类为用户提供了一个统一的命令接口,无论是从菜单触发还是从工具栏触发,甚至是通过快捷键触发都调用同样的操作接口,达到同样的目的。

动作(QAction)实现

设计到的动画包括了以下几个功能:

打开、新建、退出、复制、剪切、粘贴

对应的动作类,如下面表格中介绍,后续都是用类指针的方式说明:

 在文本编辑器中一般会用到这几项功能,我们可以对每个动作功能进行快捷键绑定,接下来就以“打开文件动作”做详细说明吧~

"打开"动作

创建一个打开动作

m_pActionOpenFile = new QAction(QIcon(":/QtTextEditor/image/open.jpg"), QStringLiteral("打开"), this);

在创建“打开”动作的同时也指定了当前动作使用的图标、名称以及父窗口

设置快捷键

m_pActionOpenFile->setShortcut(tr("Ctrl+O"));

当前“打开”动作的组合键是Ctrl+O

设置提示信息

m_pActionOpenFile->setStatusTip(QStringLiteral("打开一个文件"));

类似于控件的setToolTips功能。

当鼠标光标移动到此动作对应的菜单条目或工具栏按钮上时,在状态栏上会显示“打开一个文件”的提示。

有的人会问道:在创建打开动作实例的时候,不传入图片可以吗?

当然没问题啦,在创建动作时,不传入图标时,这类动作通常只在菜单中出现,而不在工具栏上面使用。这是唯一的区别

剩下的其他动作我们可以也按照同样的方式进行设置,具体的组合键可以参照我的,也可以随意发挥。

菜单(Menus)实现

在实现了各个动作之后,直接展示能被我们看到吗?

如果不清楚的可以运行下,结果发现是不可以被看到的。是需要将它们通过菜单、工具栏或者快捷键的方式体现出来。

什么是菜单呢?

就拿Notepad++文本编辑器来说明下

 

红色框标注的区域是菜单栏,蓝色框标注的区域是工具栏

接下来,我们就来实现菜单栏上的功能,这里只是简单的列举了几项,包括:文件、缩放、旋转、镜像

菜单创建 

m_pMenuFile = menuBar()->addMenu(QStringLiteral("文件"));
m_pMenuFile->addAction(m_pActionOpenFile);
m_pMenuFile->addAction(m_pActionNewFile);
m_pMenuFile->addSeparator();

就以文件菜单为例,不采用new的方式,直接调用QMainWindow的menuBar()函数就可以得到主窗口的菜单栏指针,然后,再调用QMenuBar::addMenu()函数,就可以在菜单栏中插入一个新菜单fileMenu。

其中,fileMenu就是一个QMenu类对象。

addAction:可以在菜单条目中添加“打开”、“新建”的动作,如下图所示:

 像:缩放菜单、旋转菜单、镜像菜单实现方法类似,这里就不一一说明了。

工具栏(ToolBars)实现

在主窗口的工具栏上可以存在多个工具条,一般情况下一个菜单对应一个工具条,在实际应用中也可以根据项目需求进行分配。

在这里我为了简单起见,按照菜单的数量划分了工具条:文件工具条、编辑工具条、旋转工具条、镜像工具条

红色框区域就是创建的四个工具条,其中还标注了两个蓝色框,这两个蓝色框中的内容就是在设置动作时,写入的提示信息。

就拿文件工具条来举例吧

m_pToolFile = addToolBar("File");
m_pToolFile->addAction(m_pActionOpenFile);
m_pToolFile->addAction(m_pActionNewFile);

 在默认的创建工具条的属性中,是可以随意拖动工具条的,想要禁止拖动可以如下设置:

m_pToolFile->setMovable(false);

创建好了菜单以及工具栏之后,中间剩下的区域就是我们文本编辑以及展示的区域了。

展示区域

展示区域主要是进行编写工作,在这里我们可以采用QTextEdit编辑控件来处理。

那么,如何确定该编辑框的展示区域呢?

在QMainWindow主窗口中有一个叫做中心窗口部件:Central Widget,创建了QTextEdit控件后,将该控件指针赋值到中心窗口部件就可以实现编辑区域在中间展示的效果了

实际的展示效果:

 实际的代码操作:

m_editContent = new QTextEdit(this);
setCentralWidget(m_editContent);

小结(一)

看到这里,就可以构建出整体的编辑页面了,包括了三个部分:菜单栏区域、工具栏区域、编辑区域

那么,下一章节我们继续介绍文本编辑器功能

我是糯诺诺米团,一名C++开发程序媛~


http://chatgpt.dhexx.cn/article/DEcny0h7.shtml

相关文章

文本编辑器推荐

对于程序员或者开发者来说,可以通过电脑文本编辑器来完成语言的编译或输入,那么文本编辑器哪个好呢,其实使用系统自带的文本框就不错,当然还有不少其他软件可用。 文本编辑器哪个好: 一、记事本 1、这是系统自带的文…

富文本编辑器汇总

富文本编辑器:(Rich Text Editor,RTE)是一种可内嵌于浏览器,所见即所得的文本编辑器。它提供类似于Office Word 的编辑功能,方便那些不太懂HTML用户使用,富文本编辑器的应用非常广泛&#xff0c…

十五种文本编辑器

很多时候比如编程查看代码或者打开各种文档下我们都会用到文本编辑器,Windows自带的记事本功能很简陋并且打开大文件很慢,因此很多童鞋都会有自己喜欢的一款文本编辑器。在这里,西西挑选前15个最佳的文本编辑器,这些编辑器实际上主…

强烈呼吁弃用Notepad++,优秀替代品献上

Notepad作为一款开源文本编辑软件,无可厚非是一款优秀的软件, 但是由于“种种原因”, 坚决弃用。 禁用NotePad 推荐三款优秀的免费替代品: 可以直接去官网下载,也可以在下面的网盘地址下载(分别提供了安装版(分32位和…

adreno性能天梯图_深度学习之GPU显卡性能天梯图

在深度学习的显卡市场,英伟达的地位还是暂时无人能够撼动的。专业卡暂不纳入考虑,毕竟性价比太低了。大家平时使用的还是老黄的游戏卡,性能排第一的就是Titan RTX了,具备24G大显存,然而售价也高达两万块。接下来就是大…

2013台式计算机,显卡天梯图 2013最新台式机显卡天梯图

在聊完笔记本显卡的性能后,小编当然要和大家聊聊重头戏了:台式机的显卡天梯图。台式电脑一直是玩大型3D游戏的必选机型,虽然没有笔记本的便携性,但是台式机可以让电脑显卡性能得到充分的发挥,主要是独立显卡的散热不像笔记本那样存在空间狭小的问题。 台式机显卡性能一直…

mx350显卡天梯图_显卡天梯图2020年终整理发布

购买显卡如何选择?当然是有参考才能更好的选择,可是我们要拿什么参考呢?没错,通过笔者一年的时间收集整理,我们将为大家带来本年度英伟达显卡和AMD显卡天梯图。 AMD显卡天梯图: 英伟达显卡天梯图&#xff1…

2020电脑服务器cpu性能天梯图,CPU性能天梯图[202002版]

CPU与显卡还不太一样,CPU有线程,线程多,那性能会强。以前我们对CPU的认识有一个误区,老以为i5就比i3强,或者i7就比i5强,其实不一定。您以后就别再听电脑城那些人乱说,“我给你配置的是i7 的CPU&…

服务器单核性能天梯图,台式机cpu性能排行(cpu单核性能天梯图)

【科技犬】 鲁大师发布 2021 年 Q1 季度电脑处理器性能排行榜,霸榜两年的 AMD Ryzen Threadripper 3990X 依然是第一名。最新发布的 Threadripper PRO 3995WX 数据太少达不到上榜要求。 如上图所示,鲁大师台式机处理器排行榜前四名都是 AMD 处理器&#…

mx350显卡天梯图_五月显卡性能排行 台式显卡天梯图2020年5月最新版

显卡天梯图(更新至2020年5月9日)主要用来纵向对比一下显卡性能的高低,这样对于我们在DIY装机过程当中,选购桌面显卡有个参考标准。台式桌面级显卡天梯图方便我们更直观地对比不同厂商最新显卡之间的性能高低。以下IT数码通为大家带来2020年5月最新显卡天…

显卡天梯图:2014最新显卡性能天梯图

随着电脑游戏的推广,很多用户都喜欢上了电脑网络游戏,所以组装电脑用户在装机的时候,会考虑电脑配置的游戏性能,要提高电脑配置游戏性能首要条件就是显卡性能要强,如果显卡性能不佳,那么其它方面性能再强&a…

CPU-显卡-硬盘性能天梯图排行榜源码

介绍: CPU天梯图和桌面显卡性能天梯图排行榜,硬盘性能天梯图排行榜源码分享! CPU,GPU显卡,硬盘所有文件以进行本地化,嗨次元在线工具箱,CPU性能天梯表,CPU性能天梯表,CPU性能天梯图,GPU性能天梯图,显卡性…

桌面显卡天梯图2023年2月 台式机显卡天梯图2023

1、NVIDIA GeForce RTX 3090 Ti 24GB。 2、NVIDIA GeForce RTX 3090 24GB。 3、NVIDIA GeForce RTX 3080 Ti 12GB。 4、AMD Radeon RX 6900XT 16GB。 5、NVIDIA GeForce RTX 3080 12GB。 6、AMD Radeon RX 6800XT 16GB。 组装电脑怎么搭配显卡更合适这些点很重要看过你就懂了 h…

2014显卡性能天梯图,组装电脑备用

2019独角兽企业重金招聘Python工程师标准>>> 2014显卡性能天梯图,组装电脑备用,原来i7的HD4600是不如08年ATI的HD3850的(当时499元): 转载于:https://my.oschina.net/lizhiling/blog/375346

英伟达显卡排名天梯图2022

英伟达显卡排名天梯图 英伟达显卡排名天梯图 英伟达显卡排名天梯图 3090ti 3070ti 3050ti 1、Fermi费米架构 费米是诺贝尔物理学奖得主,被称为原子能之父,他的实验小组建立了人类第一台可控核反应堆e69da5e6ba90323131333532363134313032313635333…

2012年10月显卡性能天梯图

2013年3月16日 1、台式机显卡天梯图 转:http://zgcdiy.com/article-1960.html 2、笔记本显卡天梯图 转:http://ideapad.zol.com.cn/59/160_583555.html 转载于:https://www.cnblogs.com/pingyidou/archive/2013/03/17/2963301.html

显卡性能排行榜2023 显卡天梯图2023年7月

一、显卡性能排名 1、NVIDIA GeForce RTX 3080 2、AMD Radeon RX 6800M 3、NVIDIA GeForce RTX 3070 笔记本选哪款好这些点很重要 http://www.adiannao.cn/dq 二、性能测试方法 1、基准测试:使用3DMark软件进行显卡性能测试,包括图形性能、物理性能…

DIY电脑配置入门篇(包含各cpu显卡天梯图对比)

文章目录 如何查看自己的电脑配置如何DIY自己的第一台电脑定好预算核心配置主板显卡(GPU)分类 内存其他如何选择电脑2021年游戏台式电脑配置推荐 2021年桌面(台式机)CPU 显卡天梯图2021年移动(笔记本)CPU 显…

显卡天梯图2020年10月完整版

由于数码产品更新换代周期比较快,所以大家在查看相关天梯图的时候尽量以最新版本查询会比较好,不然会因为更新不及时导致您查看到的显卡数据滞后。以下是目前2020年10月份的显卡天梯图,希望可以帮助到大家。 在显卡方面大家也要注意&#xff…

2021服务器cpu性能天梯图,显卡天梯图2021年3月最新版 显卡性能排行天梯图2021

显卡是电脑中非常热门的硬件之一,在很多时候显卡的重要性高于CPU,对于小白来说需要通过显卡性能参数的比对来选购显卡,通过显卡天梯图来对比显卡型号之间的性能差异,一目了然非常直观。 显卡天梯图2021年3月最新版 显卡性能排行天梯图2021: 显卡之间如何对比性能好坏? 对…