QT—QTextEdit控件显示日志
功能:利用QTextEdit开发一个日志显示窗口。没有太多操作,需要实现的是日志自动向上滚动,总体的日志量可以控制在x行(比如300行)以内;其他的应用功能我后面继续添加
#include <QTextBlock>
#include <QTextEdit>
#include <QDebug>
#include <QTextCursor>
QString text;
text = "1111111111111111111111111111\n"\
"222222222222222222222222222\n"\
"33333333333333333333333333333\n"\
";
QTextEdit edit;//定义一个QTextEdit。当然如果你想看显示内容,还是需要将这个QTextEdit绑定在一个widget上面show出来的;
edit.setText(text); //把text设置给QTextEdit,如果这时候用widget,show出来的话,应该就能看到一个类似于记事本的界面上有四行内容;
QTextBlock ba = edit.document()->firstBlock();//获取第一行的内容,,如果不用这个函数,我真没办法获取到第一行;
QTextCursor cur = edit.textCursor(); //关键点:QTextEdit要删除,只能clear(),那就全部删除掉了。或者利用光标来进行选择,因为光标里的函数有一个removeSelectedText()
cur.setPosition(,QTextCursor::MoveAnchor);
int length = ba.length();
qDebug()<<"第一段的长度是:"<<length;
cur.setPosition(length,QTextCursor::KeepAnchor);//设置selectedText的时候,我感觉应该有很多方式来选择的,我没有一一测试
//cur.select(QTextCursor::WordUnderCursor);
qDebug()<<"选择的文字是:"<<cur.selectedText();
qDebug()<<"删除前:"<<edit.document()->lineCount();
cur.removeSelectedText();
edit.setTextCursor(cur); //关键:必须将这个光标设置回去,否则你的删除操作没生效;
qDebug()<<"删除后:"<<edit.document()->lineCount();//确认删除是否成功
QTextBlock ba2 = edit.document()->firstBlock();
qDebug()<<ba2.text();
edit.append("\n5555555555555555555");
QTextBlock ba3 = edit.document()->lastBlock();//此处是为了测试光标位置对添加后续内容的影响。结论是,删除动作不影响后续的追加text。
qDebug()<<"ba3 = "<<ba3.text();
QT—QTextEdit控件显示日志的更多相关文章
- 仿酷狗音乐播放器开发日志二十三 修复Option控件显示状态不全的bug(附源码)
转载请说明原出处,谢谢~~ 整个仿酷狗工程的开发将近尾声,现在还差选项设置窗体的部分,显然在设置窗体里用的最多的就是OptionUI控件,我在写好大致的布局后去测试效果,发现Option控件的显示效果 ...
- Qt常用控件
Qt常用控件 QWidget与QFrame QWidget所有图形控件的基类 QFrame与QWidget的区别 QFrame是基本控件的基类, QWidget是QFrame的基类. 因此QFrame ...
- Qt基本控件及三大布局
Qt基本控件及三大布局 来源: http://blog.csdn.net/a2604539133/article/details/73920696 Qt基本模块 一.Qt的三大布局 QHBoxLayo ...
- Qt入门(4)——Qt常见控件
Qt提供了大量的内建控件及通用对话框可满足程序员的绝大部分要求.我们将对这些控件和对话框作一个大概的介绍. 1. QLabel 定义 QLabel* m_labelOrdered = newQLabe ...
- QTextEdit控件使用
QTextEdit控件使用 QTextEdit *mpContentTextEdit = new QTextEdit(this); //设置占位符文本 mpContentTextEdit->se ...
- Qt编写控件属性设计器
一.前言 自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDe ...
- xcode8 storyboard 控件显示错位
升级xcode8 后选择device 为6s 出现上面的情况,控件显示异常.使用Update Frame 显示正常.不能选择Update Constraints 如果误选 commend + Z ...
- HighChats图表控件显示精度小数点的方法
相信大家对highchats这个图表控件并不陌生,最近在项目中用到它,但是某些字段需要显示为小数点,顾查找资料文档发现下面两个方式可以实现: 初始化时候添加如下两个参数 tooltip:{ fo ...
- C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值
关于PropertyGrid控件的详细用法请参考文献: 1.C# PropertyGrid控件应用心得 2.C#自定义PropertyGrid属性 首先定义一个要在下拉框显示的控件: using Sy ...
随机推荐
- js数组扁平化
看到一个有趣的题目: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 一个多维 ...
- MySQL数据库 Too many connections
出现这种错误明显就是 mysql_connect 之后忘记 mysql_close:当大量的connect之后,就会出现Too many connections的错误,mysql默认的连接为100个, ...
- 美图秀秀api实现图片的裁剪及美化
美图秀秀不仅有PC版.手机版等客户端的软件,还有Web开方接口,可以在web页面上调用美图秀秀的api接口,实现图片的编辑.像淘宝.网易.qq空间.新浪微博等大厂都使用过该接口. 官网地址:http: ...
- android TextView加载html 过滤所有标签,保留换行标签
情景: TextView加载后端接口获取到的html富文本 遇到的问题: 客户端通过接口取到的数据如下: <p style="margin-top: 0px; margin-botto ...
- shell的进度条【转】
生成进度条的俩个shell脚本 !/bin/bash i= bar='' index= arr=( "|" "/" "-" "\\ ...
- elk的备份与恢复【转】
elasticsearch提供了快照功能: 1.在elsticsearch的配置文件中定义一个path.repo路径配置 path.repo: ["/elk/my_backup"] ...
- 使用ansible实现轻量级的批量主机管理
作者:邓聪聪 查看ansible配置文件下的hosts的文件 [root@ansible-server scripts]# cat /etc/ansible/hosts [test] 172.16.1 ...
- vue性能
刚开始接触vue觉得vue真是好,用起来好方便呀,与以往的用jquery类库写逻辑,简直方便的要死.网上也都是对vue的好评,但是呢我现在的感觉就是vue真坑,真垃圾. 先说的我们项目遇到到问 ...
- 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问题:找不到SCOTT员工了,只有13条数据,这显然不合理:这就是内连接的缺 ...
- shell 其他杂项知识点笔记
// 其他杂项知识点 对于普通用户,Base shell 默认的提示符是美元符号$:对于超级用户(root 用户),Bash Shell 默认的提示符是井号# ------- \#!是一个约定的标记, ...