QPlainTextEdit是一个多行文本编辑器,用于显示和编辑多行简单文本。

一些常用的函数有:

appendPlainText(const QString)

向 PlainTextEdit 组件添加一行字符串

QString toPlainText()

将全部文字内容输出为一个字符串

Int blockCount()

获得文本块个数(一个文本块是一个段落,一个段落以回车符结束

QTextBlock fmdBlockByNumber(int blockNumber)

读取某一个文本块,序号从 0 开始,至 blockCount()-1 结束

逐行读取文本:

  QPlainTextEdit 的文字内容以 QTextDocument 类型存储。

  QTextDocument 是内存中的文本对象,以文本块的方式存储,一个文本块就是一个段落,每个段落以回车符结束。QTextDocument 提供一些函数实现对文本内容的存取:

  • int blockCount():获得文本块个数。
  • QTextBlock fmdBlockByNumber(int blockNumber):读取某一个文本块,序号从 0 开始,至 blockCount()-1 结束。

一个 document 有多个 TextBlock,从 document 中读取出的一个文本块类型为 QTextBlock,通过 QTextBlock::text() 函数可以获取其纯文本文字。

代码:

void Widget::on_btnToComboBox_clicked()
{
//plainTextEdit的内容逐行添加为comboBox的项
QTextDocument* doc=ui->plainTextEdit->document () ; //文本对象
int cnt=doc->blockCount () ;//回车符是一个 block
for (int i=0; i<cnt;i++)
{
QTextBlock textLine=doc->findBlockByNumber (i) ; // 文本中的一段
QString str=textLine.text();
}
}

  

实时显示使用plainTextEdit的信号cursorPositionChanged().

有自带快捷键菜单,使用信号customContextMenuRequested(),创建快捷菜单的槽函数代码如下:

    QMenu* menu=ui->plainTextEdit->createStandardContextMenu();
menu->exec(pos);

QT控件使用--QPlainTextEdit的更多相关文章

  1. Cocos2dx 把 glview 渲染到 Qt 控件上(Mac 环境)

    本文原链接:http://www.cnblogs.com/zouzf/p/4423256.html 环境:Mac 10.9.2   Xcode5.1.1  Qt5.3  cocos2dx-2.2.4 ...

  2. Qt控件样式 Style Sheet Demo

    迟来的笔记,作为一个程序员每日记事已养成习惯,离开许久,不知不觉已喜欢用文字表达对技术的热爱,学无止境! Qt – 一个跨平台应用程序和UI开发框架:它包括跨平台类库.集成开发工具和跨平台 IDE,使 ...

  3. Qt 控件随窗口缩放

    在Qt的界面设计中,我们有时候希望窗口在最大化的时候,上面的控件也跟着缩放,那么我们就需要调整控件的SizePolicy属性,关于这个属性的讲解请参见我之前的博客Qt SizePolicy 属性,由于 ...

  4. 利用好CSS,实现Qt控件美化

    一.CSS概念 级联样式表 (CSS) 包含应用于网页中的元素的样式规则.CSS 样式定义元素的显示方式以及元素在页中的放置位置.可以创建一个通用规则,只要 Web 浏览器遇到一个元素实例,或遇到一个 ...

  5. Qt控件精讲一:按钮

    原地址:http://blog.csdn.net/yuxikuo_1/article/details/17397109 Qt Creater提供6种Button控件.如图1. Button控件介绍 控 ...

  6. 大量的QT控件及示例发放

    QT属性控件项目https://github.com/lexxmark/QtnProperty 比特币交易软件https://github.com/JulyIGHOR/QtBitcoinTrader ...

  7. QT控件学习

    一.QPushButton 1.设置背景色: ui->pushButton->setStyleSheet("background-color: rgb(170, 0, 255)& ...

  8. Qt控件焦点切换

    们日常切换控件,例如QQ登陆的账号和密码输入框就可以通过Tab键切换焦点.  图1 qq切换焦点 Qt中QWidget提供了一个静态方式实现该效果 其中也包含介绍使用 [static] void QW ...

  9. 一个显示 OpenCV Mat 图像的自定义 Qt 控件

    今天学习 Qt 的时候顺手写了一个,包含一个头文件 qcvdisplay.h 和一个源文件 qcvdisplay.cpp,因为这是 qt 默认的文件命名方式,在 Qt Designer 中提升控件时会 ...

  10. 使用opencv在Qt控件上播放mp4文件

    文章目录 简介 核心代码 运行结果 简介 opencv是一个开源计算机视觉库,功能非常多,这里简单介绍一下OpenCV解码播放Mp4文件,并将图像显示到Qt的QLabel上面. 核心代码 头文件 #i ...

随机推荐

  1. Pulsar负载均衡原理及优化

    前言 前段时间我们在升级 Pulsar 版本的时候发现升级后最后一个节点始终没有流量. 虽然对业务使用没有任何影响,但负载不均会导致资源的浪费. 和同事沟通后得知之前的升级也会出现这样的情况,最终还是 ...

  2. liinux-目录、文件结构及相关命令

    1.前期必备知识 1.命令提示符 [root@max001 ~]#:root表示用户信息,max001表示主机名称. [root@max001 ~]%:普通用户结尾是$符号. 2.命令格式规范(语法规 ...

  3. redis实现分布式锁(包含代码以及分析利弊)

    redis实现分布式锁(基础版) 使用redis实现分布式锁的方法有多种,基础版本是基于setnx命令,即如果不存在则设置.这个命令可以保证只有一个客户端能够成功设置一个key,从而获得锁.设置key ...

  4. IDEA插件:lombok

    1 安装插件lombok File => Settings => Plugins => Marketplace.在 Marketplace 中搜索 lombok 并安装,安装成功后 ...

  5. P19_数据绑定

    数据绑定 数据绑定的基本原则 在 data 中定义数据 在 WXML 中使用数据 在 data 中定义页面的数据 在页面对应的 .js 文件中,把数据定义到 data 对象中即可: Mustache ...

  6. voxel体素网络滤波器

    1.简介 在进行建图的时候,由于多个视角内存在视野重叠,即多个摄像头看到同样的像素点,这样在重叠区域内会存在大量的位置十分相近的点,这会占用很多内存空间.体素网络滤波保证了在某个一定大小的立方体内只有 ...

  7. 学习Java Day20

    类的导入的第一种方式就是使用完全限定名,就是包名后面跟着类名 java.time.LocalDate totay=java.time.LocalDate.now(); 另一种可以直接用import j ...

  8. day13-自定义拦截器

    自定义拦截器 1.什么是拦截器 说明: 拦截器与过滤器的区别 SpringMVC 的拦截器(Interceptor)与 Java Servlet 的过滤器(Filter)类似,它主要用于拦截用户的请求 ...

  9. 五大数据类型 - 字符串 - 列表 list - 集合set - 有序集合 - 哈希 hashMap

    基础知识 redis默认有16个数据库:默认使用的是第0个. 可以使用select num切换 查看DB大小 DBSIZE 查看所有的key **keys ** 清空当前数据库 flushdb 清空全 ...

  10. 基于ChatGPT的API的C#接入研究

    今年开年,最火的莫过于ChatGPT的相关讨论,这个提供了非常强大的AI处理,并且整个平台也提供了很多对应的API进行接入的处理,使得我们可以在各种程序上无缝接入AI的后端处理,从而实现智能AI的各种 ...