【QT】QTextEdit 常用方法汇总

目录

1.QTextEdit 限制文本输入数量

2.使用 QTextEdit,根据我希望一次可见的行数来设置高度

3.限制QTextEdit行数

4.判断QTextEdit当前行数

5.QTextEdit光标移至最后一行 

6.QTextEdit删除光标的前一个字符

7.QTextEdit移动光标至上一行的起始位置

8.限制QTextEdit最大行数


1.QTextEdit 限制文本输入数量

connect(ui->textEdit,&QTextEdit::textChanged,this,&LogMgnWdg::slotLimitTextEditTextCount);void LogMgnWdg::slotLimitTextEditTextCount()
{const int& limit_count = 4;QString text = ui->textEdit->toPlainText();int count = text.count();if (count > limit_count){int position = ui->textEdit->textCursor().position();QTextCursor text_cursor = ui->textEdit->textCursor();text.remove(position - (count - limit_count), count - limit_count);ui->textEdit->setText(text);text_cursor.setPosition(position - (count - limit_count));ui->textEdit->setTextCursor(text_cursor);}
}

2.使用 QTextEdit,根据我希望一次可见的行数来设置高度

void SetHeight (QTextEdit* edit, int nRows) 
{QFontMetrics m (edit -> font()) ;int RowHeight = m.lineSpacing() ; edit -> setFixedHeight (nRows * RowHeight) ;}
nRows=5时:

3.限制QTextEdit行数

ui->textEdit->document ()->setMaximumBlockCount (100);

4.判断QTextEdit当前行数

        在 Qt 中,可以使用  document()  函数获取 QTextEdit 的文本编辑器对象,然后通过调用其  lineCount()  函数来获得当前行数。
int lineNumber = textEdit->document()->lineCount();
qDebug() << "当前行数为:" << lineNumber;
        获取光标所在行的行号:
QTextCursor text_cursor = ui->textEdit->textCursor();
lineNumber =text_cursor.blockNumber()+1;

5.QTextEdit光标移至最后一行 

ui->textEdit->moveCursor(QTextCursor::End);//移动光标到最后一行

6.QTextEdit删除光标的前一个字符

QTextCursor text_cursor = ui->textEdit->textCursor();
text_cursor.deletePreviousChar(); 

7.QTextEdit移动光标至上一行的起始位置

QTextCursor text_cursor = ui->textEdit->textCursor();
text_cursor.movePosition(QTextCursor::PreviousBlock);

8.限制QTextEdit最大行数

QTextEdit倒序插入,当行数大于某个值时,即删除最后一行。
void LogMgnWdg::setTextEditStyle(QString strLogInfo)
{ui->textEdit->setReadOnly(true);//设置只读ui->textEdit->setTextInteractionFlags(Qt::NoTextInteraction);if(mMaxLogLines>MaxLogLines){ui->textEdit->moveCursor(QTextCursor::End);QTextCursor cursor = ui->textEdit->textCursor();// 移动光标至上一行的起始位置cursor.movePosition(QTextCursor::PreviousBlock);cursor.select(QTextCursor::LineUnderCursor);//当前光标下的行cursor.removeSelectedText();//qDebug()<<"========removeSelectedText";mMaxLogLines = ui->textEdit->document()->lineCount();//qDebug()<<"========mMaxLogLines"<<mMaxLogLines;//解决QTextEdit第一次可以删除最后一行,第二次之后QTextEdit删除最后一行内容总是失败的问题cursor.deletePreviousChar();//QTextEdit删除光标的前一个字符ui->textEdit->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor);//移动光标至上一行ui->textEdit->insertPlainText(strLogInfo+"\n");}else{mMaxLogLines = ui->textEdit->document()->lineCount();//qDebug()<<"========mMaxLogLines"<<mMaxLogLines;ui->textEdit->insertPlainText(strLogInfo+"\n");ui->textEdit->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor);//移动光标至上一行}//qDebug()<<"========strLogInfo"<<strLogInfo;ui->textEdit->setLineWrapMode(QTextEdit::LineWrapMode::WidgetWidth);//超出控件宽度进行自动换行
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/487270.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现

1&#xff0c;视频地址 【wails】&#xff08;4&#xff09;&#xff1a;使用wails做桌面应用开发&#xff0c;整合chatgpt-web项目做前端&#xff0c;进行本地开发&#xff0c;web端也可以连调&#xff0c;使用websocket实现 2&#xff0c;演示效果 启动先是报500 错误&#…

vue 动态渲染本地图片不显示的解决方法

代码更改前 <img class"img" :src"/assets/images/${syntheticalGrade}.png" />data(){return{syntheticalGrade:"1"} }效果图&#xff1a; 解决代码 <img class"img" :src"require(/assets/images/${syntheticalGrad…

TRRUST:实用的转录因子-靶标基因调控数据库

转录因子是转录调控中的主要反式作用因子。因此&#xff0c;阐明TF-靶标相互作用是理解复杂特征&#xff08;疾病、生长发育等&#xff09;背后的调节回路的关键一步。前面我们分享了动物转录因子数据库AnimalTFDB v4.0 以及植物转录因子数据库PlantTFDB 。 在这里&#xff0c…

Stability AI发布Stable Diffusion 3;谷歌修复Gemini大模型文生图多元化Bug;李一舟AI课遭下架

&#x1f989; AI新闻 &#x1f680; 著名大模型开源平台Stability AI发布Stable Diffusion 3 摘要&#xff1a;Stable Diffusion 3是由专注AIGC领域的开源平台stability.ai推出的新版本。相比Stable Diffusion 2&#xff0c;Stable Diffusion 3在文本语义理解、色彩饱和度、…

【Qt学习】QWidget的styleSheet属性与实例(日/夜间模式、RGB颜色的表示)

文章目录 1. 介绍2. 实例分析RGB颜色的表示实例 - 日 / 夜间模式 3. 代码资源 1. 介绍 上图来自Qt官方文档&#xff0c;我们以此对styleSheet进行总结&#xff1a; styleSheet 样式表是一种可以通过文本描述来自定义控件外观的强大工具&#xff0c;它类似于网页开发中的 CSS&a…

队列的基本操作——常见队列的对比分析(c语言完整代码包含注释)

目录 一、队列 1.1基本概念 1.2基本操作 1.3 队列分类 1.3.1带头队列 1.3.2不带头队列 1.3.3 循环带头队列 1.3.4 循环不带头队列 1.3.5 总结 二、代码实现 2.1带头队列 2.2不带头队列 2.3循环带头队列 2.4循环不带头队列 一、队列 1.1基本概念 队列&#xff08…

WordPres Bricks Builder 前台RCE漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

【软考】系统集成项目管理工程师【总】

引言 本来整理这篇文章的目的是方便自己23年考试用的 效果不错 目标完成。 接下来的目标是把这篇文章 做成参加该软考 小伙伴的唯一参考资料&#xff08;有它就够了&#xff09;来持续更新。。。 这篇文章我将当作一个长周期&#xff08;以年为单位&#xff09;项目运维起来&am…

微服务远程调用Feign

目录 RPC概述 什么是Feign&#xff1f; Ribbon&Feign对比 Feign的设计架构 Spring Cloud Alibaba快速整合Feign Spring Cloud Feign扩展 日志配置 契约配置 通过拦截器实现参数传递 自定义拦截器实现认证逻辑 超时时间配置 RPC概述 微服务之间如何方便优雅的实…

【python】yolo目标检测模型转为onnx,及trt/engine模型的tensorrt轻量级模型部署

代码参考&#xff1a; Tianxiaomo/pytorch-YOLOv4: PyTorch ,ONNX and TensorRT implementation of YOLOv4 (github.com)https://github.com/Tianxiaomo/pytorch-YOLOv4这个大佬对于各种模型转化写的很全&#xff0c;然后我根据自己的需求修改了部分源码&#xff0c;稍微简化了…

【深度学习:人体姿态估计】计算机视觉人体姿态估计完整指南

【深度学习&#xff1a;人体姿态估计】计算机视觉人体姿态估计完整指南 什么是人体姿态估计&#xff1f;2D 人体姿态估计2D 人体姿态估计示例2D 与 3D 人体姿态估计人体姿态估计如何工作&#xff1f; 机器学习中人类姿态估计的挑战用于人体姿态估计的流行机器学习模型#1: OmniP…

基于卷积神经网络的图像去噪

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 基于卷积神经网络的图像去噪 完整代码:基于卷积神经网络的图像去噪.rar资源-CSDN文库 https://download.csdn.net/download/abc9918351…