网站建设 客户/优化网站标题和描述的方法
一、前言
QPlainTextEdit类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,是Qt用来显示和编辑纯文本的窗口。
滚屏区域基类https://blog.csdn.net/u014491932/article/details/132245486?spm=1001.2014.3001.5501框架类QFrame
https://blog.csdn.net/u014491932/article/details/132188655?spm=1001.2014.3001.5501
QPlainTextEdit是纯文本的高级查看器/编辑器,它经过优化,可以处理大型文档并快速响应用户输入。QPlainTextEdit使用与QTextEdit非常相同的技术和概念,但针对纯文本处理进行了优化。QPlainTextEdit适用于段落和字符,实际应用中显示串口监控信息、网络传输信息、文本文件读取编辑等情景下使用。
二、QPlainTextEdit类
1、backgroundVisible
该属性表示确定调色板背景是否在文档区域之外可见。
bool backgroundVisible() const
void setBackgroundVisible(bool visible)
如果设置为true,则纯文本编辑器将在文本文档未覆盖的视口区域上绘制调色板背景。该特性使用户可以直观地区分使用调色板的基本色绘制的文档区域和未被任何文档覆盖的空白区域。
2、blockCount
此属性保存文档中文本块的数量(回车换行之后算单独一块)。默认情况下,在空文档中,此属性的值为1。
int blockCount() const
3、centerOnScroll
此属性用于确定光标是否应该在屏幕上居中。
bool centerOnScroll() const
void setCenterOnScroll(bool enabled)
设置为true,则纯文本编辑器将垂直滚动文档,使光标在视窗中心可见,允许文本编辑滚动到文档末尾以下。下图中我们光标往下到底部的时候,继续往下屏幕会居中。
设置为false,则纯文本编辑将滚动尽可能小的量,以确保光标可见。
4、cursorWidth
该属性表示光标的宽度,默认宽度为1个像素。
int cursorWidth() const
void setCursorWidth(int width)
5、documentTitle
该属性表示文档的标题,没有实际的效果。
QString documentTitle() const
void setDocumentTitle(const QString &title)
6、lineWrapMode
该属性表示自动换行策略,默认QPlainTextEdit::WidgetWidth。
QPlainTextEdit::LineWrapMode lineWrapMode() const
void setLineWrapMode(QPlainTextEdit::LineWrapMode mode)
QPlainTextEdit::LineWrapMode 描述 NoWrap 不换行 WidgetWidth 文字被包装在文本编辑的右边缘,换行发生在空白处,保持整个单词完整
7、wordWrapMode
该属性表示单词间换行策略,默认QTextOption::WrapAtWordBoundaryOrAnywhere。
QTextOption::WrapMode wordWrapMode() const
void setWordWrapMode(QTextOption::WrapMode policy)
QTextOption::WrapMode 描述 NoWrap 不换行 WordWrap 文本在单词边界处换行 ManualWrap 不换行 WrapAnywhere 文本可以在一行中的任何点换行,即使它出现在单词的中间。 WrapAtWordBoundaryOrAnywhere 优先在字边界处换行;否则,它将出现在行上的适当点上,甚至在单词的中间。
8、maximumBlockCount
该属性表示文档块的最大个数,默认为0。当超出最大限制的时候,会从开头删除块。如果设置的是负数或者零,表示不限制。设置此属性会禁用撤消重做历史记录。
int maximumBlockCount() const
void setMaximumBlockCount(int maximum)
9、overwriteMode
该属性保存用户输入的文本是否会覆盖现有文本。
和许多文本编辑器一样,纯文本编辑器小部件可以配置为使用用户输入的新文本插入或覆盖现有文本。如果此属性为true,现有文本将被新文本逐字符覆盖;否则,将在光标位置插入文本,取代现有文本。
大多数编辑器都是按下键盘的Insert键,开启此模式,软件实现可以响应按键事件,检测按下Insert按键的时候,切换此状态即可。
bool overwriteMode() const
void setOverwriteMode(bool overwrite)
10、placeholderText
该属性表示当文档内容为空的时候显示占位符提示文本。
QString placeholderText() const
void setPlaceholderText(const QString &placeholderText)
11、plainText
该属性表示当前文本内容,重新设置会覆盖之前的内容,撤销/重做历史将被重置,如果光标不在开头,那么文本格式也会被重置。
QString toPlainText() const
void setPlainText(const QString &text)
12、readOnly
该属性表示内容是否可只读,默认false。
bool isReadOnly() const
void setReadOnly(bool ro)
13、tabChangesFocus
该属性表示用户按下Tab键是否缩进,默认fasle。
bool tabChangesFocus() const
void setTabChangesFocus(bool b)
14、tabStopDistance
该属性表示以像素为单位保存制表位距离,默认情况下,此属性的值为80。这个属性在Qt 5.10中被引入。
qreal tabStopDistance() const
void setTabStopDistance(qreal distance)
15、textInteractionFlags
该属性表示显示文本如何与用户输入交互策略,readOnly属性会影响这个策略。
Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
Qt::TextInteractionFlag 描述 NoTextInteraction 不与文本做交互 TextSelectableByMouse 可以用鼠标选择文本,并使用上下文菜单或标准键盘快捷键将文本复制到剪贴板 TextSelectableByKeyboard 可以用键盘上的光标键选择文本。显示一个文本光标。 LinksAccessibleByMouse 链接可以用鼠标突出显示和激活。 LinksAccessibleByKeyboard 链接可以使用tab键聚焦,并使用enter键激活。 TextEditable 文本是完全可编辑的。 TextEditorInteraction TextSelectableByMouse+TextSelectableByKeyboard+TextEditable TextBrowserInteraction TextSelectableByMouse+LinksAccessibleByMouse+LinksAccessibleByKeyboard
16、undoRedoEnabled
该属性表示是否开启撤销和重做,默认开启。
bool isUndoRedoEnabled() const
void setUndoRedoEnabled(bool enable)
17、公共函数
1)anchorAt
返回位置pos处锚的引用,如果该点不存在锚,则返回一个空字符串。
QString anchorAt(const QPoint &pos) const
当我们需要在文档上打开一个链接,逻辑是鼠标在链接处按下并且在此链接上释放,可以通过鼠标按下和释放事件去检测鼠标事件触发。但我们如何去判断是否在同一个链接上触发的事件,这时候就需要用到anchorAt去检测某pos处的锚。
#ifndef PLAINTEXTEDIT_H
#define PLAINTEXTEDIT_H#include <QPlainTextEdit>
#include <QMouseEvent>class PlainTextEdit : public QPlainTextEdit
{Q_OBJECTprivate:QString clickedAnchorStr;public:explicit PlainTextEdit(QWidget *parent = 0) : QPlainTextEdit(parent){}void mousePressEvent(QMouseEvent *e){clickedAnchorStr = (e->button() & Qt::LeftButton) ? anchorAt(e->pos()) :QString();QPlainTextEdit::mousePressEvent(e);}void mouseReleaseEvent(QMouseEvent *e){if (e->button() & Qt::LeftButton && !clickedAnchor.isEmpty() &&anchorAt(e->pos()) == clickedAnchorStr){emit linkActivated(clickedAnchor);}QPlainTextEdit::mouseReleaseEvent(e);}signals:void linkActivated(QString);
};
2)canPaste
返回是否可以粘贴。
bool canPaste() const
3)createStandardContextMenu
当用户鼠标右击的时候创建和显示一个menu菜单栏小窗口,一般在contextMenuEvent事件中触发。
QMenu *createStandardContextMenu()
QMenu *createStandardContextMenu(const QPoint &position)
void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event){QMenu *menu = createStandardContextMenu();menu->addAction(tr("My Menu Item"));//...menu->exec(event->globalPos());delete menu;}
4)currentCharFormat
返回当前使用的的字符格式。
QTextCharFormat currentCharFormat() const
5)setCurrentCharFormat
设置当前使用的字符格式QTextCharFormat。
void setCurrentCharFormat(const QTextCharFormat &format)
6)cursorForPosition
返回某坐标下的文本光标QTextCursor(包含关于光标在文本中的位置和它所做的任何选择的信息),经典用法用来判断是否越界。
QTextCursor cursorForPosition(const QPoint &pos) const
7)cursorRect
返回一个包含文本光标的QRect矩形,经典用法用来判断是否越界。
QRect cursorRect(const QTextCursor &cursor) const
QRect cursorRect() const
8)document
返回文档类QTextDocument。
QTextDocument *document() const
9)setDocument
设置一个文档类QTextDocument,使它成为编辑器的文档。
void setDocument(QTextDocument *document)
10)ensureCursorVisible
通过滚动文档让光标可见。
void ensureCursorVisible()
11)setExtraSelections
void setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
此函数允许用给定的颜色临时标记文档中的某些区域,指定为选择。例如,在编程编辑器中,用给定的背景颜色标记整行文本以指示断点的存在。
12)extraSelections
返回设置的额外选择项。
QList<QTextEdit::ExtraSelection> extraSelections() const
13)find
多个方法查找字符、表达式、正则表达式是否存在。
bool find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
bool find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
bool find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
14)loadResource
加载由给定类型和名称指定的资源。这个函数是QTextDocument::loadResource()的扩展。
QVariant loadResource(int type, const QUrl &name)
15)moveCursor
通过执行给定的操作移动光标。
void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
16)print
这相当于直接调用文档上的print方法,只不过该函数还支持QPrinter::Selection作为打印范围。
void print(QPagedPaintDevice *printer) const
17)toPlainText
纯文本形式返回字符串。
QString toPlainText() const
17、公共槽
void appendHtml(const QString &html) //尾部加入html格式文本void appendPlainText(const QString &text) //尾部添加纯文本void centerCursor() //居中光标void clear() //清除void copy() //复制void cut() //剪切void insertPlainText(const QString &text) //插入纯文本void paste() //粘贴void redo() //重做void selectAll() //选择全部void setPlainText(const QString &text) //清空之前的文本,并设置纯文本void undo() //撤销void zoomIn(int range = 1) //缩小void zoomOut(int range = 1 //放大
18、信号
//文本块数量改变触发
void blockCountChanged(int newBlockCount)//可复制触发
void copyAvailable(bool yes)//光标位置改变触发
void cursorPositionChanged()//修改状态发生更改时,触发此信号
void modificationChanged(bool changed)//可重做触发
void redoAvailable(bool available)//选择内容改变触发
void selectionChanged()//文本内容改变触发
void textChanged()//可撤销触发
void undoAvailable(bool available)//文档更新触发,rect表示新视口区域,dy表示滚动像素量
void updateRequest(const QRect &rect, int dy)
相关文章:

Qt应用开发(基础篇)——纯文本编辑窗口 QPlainTextEdit
一、前言 QPlainTextEdit类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,是Qt用来显示和编辑纯文本的窗口。 滚屏区域基类https://blog.csdn.net/u014491932/article/details/132245486?spm1001.2014.3001.5501框架类QFramehttps://blo…...

数据结构-->栈
💕休对故人思故国,且将新火试新茶,诗酒趁年华💕 作者:Mylvzi 文章主要内容:详解链表OJ题 前言: 前面已经学习过顺序表,链表。他们都是线性表,今天要学习的栈也是一种线…...

强训第36天
C D C 193--1100 0001 194--1100 0010 196--1100 0100 198--1100 0110 能包括全部的且最小的为 1100 0xxx xxx为主机号,站三位 B MAC地址是绑定网卡的,全球唯一 D A C D IP网段 17为网络号 所以是 40.15.1aaa aaa(7位主机号).0 因为要划分2个子网 所以…...

PyTorch bug记录
1、RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same 这个错误是因为模型的权重是在GPU上,但是输入数据在CPU上。在PyTorch中,Tensor的类型和所在的设备(CPU或GPU)需…...

js中的正则表达式(一)
目录 1.什么是正则表达式 2.正则表达式在JavaScript中的使用场景: 3.正则表达式的语法: 1.什么是正则表达式 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象通常用来查找、替换那些符…...

免费开源使用的几款红黑网络流量工具,自动化的多功能网络侦查工具、超级关键词URL采集工具、Burpsuite被动扫描流量转发插件
免费开源使用的几款红黑网络流量工具,自动化的多功能网络侦查工具、超级关键词URL采集工具、Burpsuite被动扫描流量转发插件。 #################### 免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具&am…...

使用Mybatis Plus进行DAO层开发
一、特性 Mybatis应该大家现在都知道,而且在项目中都在使用,因为这块ORM框架让大家能专心业务SQL的编写,数据库的连接,连接池的使用都不用关心,极大的提高了生产效率。 今天要给大家介绍的另外一款ORM框架࿰…...

Android中如何不编译源生模块
如果想让自己的app 替换系统的app 比如使用闪电浏览器替换系统的Browser 首先把闪电浏览器放到 vendor/rockchip/common/apps Android.mk LOCAL_PATH : $(call my-dir) include $(CLEAR_VARS)LOCAL_MODULE : Lightning LOCAL_SRC_FILES : $(LOCAL_MODULE).apk LOCAL_MODULE_C…...

安装Vue_dev_tools
Vue控制台出现Download the Vue Devtools extension for a better development experience: 下载Vue_dev_tools,这里给出网盘链接,有Vue2和Vue3的,dev_tools 以Google浏览器为例 点击设置(就是那三个点)->扩展程序->管理扩…...

【数据结构入门指南】二叉树顺序结构: 堆及实现(全程配图,非常经典)
【数据结构入门指南】二叉树顺序结构: 堆及实现(全程配图,非常经典) 一、前言:二叉树的顺序结构二、堆的概念及结构三、堆的实现(本篇博客以实现小堆为例)3.1 准备工作3.2 初始化3.3 堆的插入3.3.1 向上调…...

css实现三角形的几种方法
css实现三角形的方法:1、使用边框实现三角形,利用透明边框和实色边框的组合,可以创建不同方向和大小的三角形;2、使用伪元素实现三角形,通过使用伪元素来创建一个占据父元素一半大小的实心三角形;3、使用tr…...

❤ Vue工作常用的一些动态数据和方法处理
❤ Vue工作常用的一些动态数据和方法处理 (1)动态拼接相对路径结尾的svg 错误写法一 ❌ 正确写法 🙆 <img :src"require(/assets//amazon/svg/homemenu${index}.svg)" style"height: 20px;display: block;margin: 0 au…...

SQLite的命令用法
学习数据库直达网站 https://www.runoob.com/sqlite/sqlite-tutorial.html(菜鸟教程) 这里只分享,基础操作,数据库创建打开……等等 用到查菜鸟教程即可 文章目录 学习数据库直达网站创建一个数据库方式1方式2 创建一个表格插入一…...

在jupyter notebook中使用海龟绘图
首先,安装ipyturtle3 ref:ipyturtle3 PyPI pip install ipyturtle3然后,安装ipycanvas ipycanvas是一个需要安装在与JupyterLab实例相同环境的包。此外,您需要安装nodejs,并启用JupyterLab ipycanvas小部件。 所有这些都在ipy…...

密码学学习笔记(十八):Diffie–Hellman (DH) 密钥交换
DH算法是第一个密钥交换算法,也是第一个得到形式化描述的公钥密码算法。 群论 DH密钥交换算法基于数学中的群论,群论也是当今大多数公钥密码的基础。 要使集合及其运算成为一个群,需要满足以下性质: 封闭性:群中两…...

Linux —— 进程间通信(管道)
目录 一,进程间通信 二,管道 匿名管道 命名管道 一,进程间通信 进程间通信(IPC,InterProcess Communication),即在不同进程之间进行信息的传播或交换;由于一般进程用户地址空间是…...

python常用
环境配置 conda Conda自动补全 在终端激活conda环境的时候按tab不能自动补全activate和环境名。安装后可用tab进行补全。 安装 conda-bash-completion 插件:GitHub 安装方法: conda install -c conda-forge conda-bash-completion常用命令 #创建虚拟…...

jeecg如何创建报表并配置到菜单中
当使用jeecg创建单表之后,需要进行报表显示,并把报表配置到菜单中,该如何操作呢?下面进行详细讲解。这里以课程表这张表为例进行讲解。 一.表单创建完成,并配置好菜单栏。具体步骤略,如下图: 二.创建积木报表 1.左侧边栏展开低代码开发菜单,进入报表设计器栏目 2.进…...

Servlet+JDBC实战开发书店项目讲解第12讲:会员管理功能
ServletJDBC实战开发书店项目讲解第12讲:会员管理功能 实现思路: 显示会员列表: 创建一个管理页面,用于显示所有会员的信息。在后端,创建一个Servlet来处理显示会员列表的请求。在该Servlet中,通过JDBC从数…...

java面向对象——继承以及super关键字
继承的概念 1. 被继承的类称为父类(超类),继承父类的类都称为子类(派生类) 2. 继承是指一个对象直接使用另一个对象的属性和方法,但是能继承非私有的属性和方法;(1) 构造方法不能被继承。(2) 但…...

[机缘参悟-101] :IT人 - 遵从世界本源的样子,不带个人情感、道德、认知倾向,接纳一切,你就拥有无限的力量
目录 道的本义 如来的本义 观音的本义 无为而治本质是顺势而为 儒家的本质 感悟: 道的本义本质:天地的力量和运行规律 "天地以万物为刍狗"是出自《道德经》第五十章的一句话。在这句话中,"天地"指的是宇宙&#x…...

C++--深度理解智能指针
PS:智能指针简单应用看这里 http://t.csdn.cn/qN7IK 1.智能指针的介绍 在C中,智能指针有三个版本,分别为: auto_ptr unique_ptr shared_ptr 这三个版本的智能指针中,shared_ptr最为完善,auto_ptr基本上没有太大用…...

Spring Boot使用MySQL的默认连接池
笔者在近期秋招面试的时候被问到了这个问题,现在简单梳理一下便于后期重新回顾,并加深记忆。 Spring Boot 默认使用的数据库连接池是 HikariCP(开源库地址)。 HikariCP 是目前性能最好的连接池之一,它具有高度的性能、可靠性和可扩展性&…...

conda使用教程
Conda介绍 conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理和环境管理。包管理与pip的使用方法类似似,环境管理则是允许用户方便滴安装不同版本的python环境并在不同环境之间快速地切换。 conda的设计理念 conda将几乎所有…...

什么是LLM大语言模型?
什么是LLM大语言模型? 大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。它们在大量的文本数据上进行训练࿰…...

jenkins同一jar包部署到多台服务器
文章目录 安装插件配置ssh服务构建完成后执行 没有部署过可以跟这个下面的步骤先部署一遍,我这篇主要讲jenkins同一jar包部署到多台服务器 【Jenkins】部署Springboot项目https://blog.csdn.net/qq_39017153/article/details/131901613 安装插件 Publish Over SSH 这…...

(四)Doceke安装MySQL镜像+Docker启动MySQL容器
Doceke安装MySQL镜像/Docker启动MySQL容器 一、doceke安装MySQL镜像 切换到root用户,su root 。 1、启动Docker 启动:sudo systemctl start docker 停止:systemctl stop docker 重启:systemctl restart docker 查看docker运行…...

Android Studio:Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
原项目使用jdk8,升级gradle后出现的该问题。 java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7at org.codehaus.groovy.vmplugin.VMPluginFactory.<clinit>(VMPluginFactory.java:43)at org.codehaus.gro…...

Spring Clould 搜索技术 - elasticsearch
视频地址:微服务(SpringCloudRabbitMQDockerRedis搜索分布式) 初识ES-什么是elasticsearch(P77,P78) 1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能…...

android核绑定cpuset配置与检测进程所在核cpuset方法
一、开机阶段 开机有如下阶段。抛开开机动画需要的audio、surfaceflinger等进程,大部分android程序是在/data分区加载完整以后开始加载。所以cpuset的配置可以在 post-fs-data之后。注意,init.rc的不同阶段脚本都可能覆盖前面配置的cpuset。配置好检查与…...