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 ...
随机推荐
- iTOP-4418开发板所用核心板研发7寸/10.1寸安卓触控一体机
iTOP-4418开发板所用核心板研发7寸/10.1寸安卓触控一体机 作为重中之重的电源管理选型,经多方对比测试最终选用AXP228,并得到原厂肯定 预留锂电池接口,内置充放电电路及电量计,可轻松搞定 ...
- BufferedReader类里面mark(int readAheadLimit)中readAheadLimit到底代表什么
昨天用到了BufferedReader类里面mark(int readAheadLimit)方法,对于文档里面readAheadLimit的解释有些没弄懂,就翻开源码研究.具体的源码分析可以参见htt ...
- Asp.net 项目部署的两个问题
1:关于MVC中BundleCollection压缩js css文件 发布后获取失败的问题 原因是: 默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默 ...
- HttpUtility.UrlEncode()关于空格的编码问题
因为 HttpUtility.UrlEncode 在 Encode 的时候, 将空格转换成加号"+", 在 Decode 的时候将"+"号转为空格, 但是浏览器 ...
- web前端效率提升之浏览器与本地文件的映射-遁地龙卷风
1.chrome浏览器,机制是拦截url, 1.在浏览器Element中调节的css样式可以直接同步到本地文件,反之亦然,浏览器会重新加载css,省去刷新 2.在source面板下对js的编辑可以同步 ...
- Spring ES
elasticsearchTemplate 和 ElasticsearchRepository JPA中有个ElasticsearchRepository可以做Elasticsearch的相关增删改查 ...
- Linux 下的各种环境安装
Linux 下的各种环境安装 1.安装 python Centos7 安装 python 2.7 : https://www.cnblogs.com/Jomini/p/10507077.html ...
- JavaScript定时器详解
假设有以下场景 setTimeout(function timeoutHandler(){ /*Some timeout handle code that runs for 6ms*/ }, 10); ...
- RNN和LSTM
一.RNN 全称为Recurrent Neural Network,意为循环神经网络,用于处理序列数据. 序列数据是指在不同时间点上收集到的数据,反映了某一事物.现象等随时间的变化状态或程度.即数据之 ...
- redis集群结构图
在JAVA编程时,使用哨兵池获取jedis来进行数据的操作,哨兵对对集群进行监视,当主节点宕掉时,会自动将子一个子节点升级为主节点,原来的主节点上线时会自动变为从节点,主节点的变化,对于使用哨兵池方式 ...