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