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);

最新文章

  1. Javascript字节转换
  2. 1.初识Shell脚本语言
  3. buffer和cache有什么本质区别
  4. ObjC 巧用反射和KVC实现JSON快速反序列化成对象
  5. Delphi多线程开发注意事项
  6. 机器人操作系统(ROS)教程4:ROS的框架【转】
  7. sql语句什么时候用双引号或者单引号
  8. x^y=(x&amp;~y)|(~x&amp;y)证明
  9. UI学习笔记---第十四天数据持久化
  10. Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 1) B. Bear and Blocks 水题
  11. Mysql表操作
  12. 让.net程序自动运行在管理员权限下
  13. Retrofit 实践
  14. python 2week
  15. Vue 学习笔记 -- inline-template
  16. 01 of lenrning python
  17. pandas DataFrame(4)-向量化运算
  18. MQTT-SN协议乱翻之小结篇
  19. Ruby 踩坑 &ldquo;Failed to build gem native extension&rdquo;
  20. npm安装指定版本

热门文章

  1. docker02-centos上安装
  2. python新冠疫情分析-世界疫情数据爬取
  3. P2_小程序简介
  4. 关于异常处理的return
  5. ubuntu安装deb时出现Unknown media type in type &#39;chemical/......
  6. eigen的简单用法汇总
  7. ransac拟合
  8. Postgresql 锁等待检测及处理
  9. 常用的hive sql
  10. elasticsearch 安装与配置